Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

50 Pertanyaan dan Jawaban Wawancara C# Teratas untuk Pengalaman &Mahasiswa Baru (Pembaruan 2021)

C# adalah bahasa pemrograman tujuan umum yang mencakup berbagai disiplin ilmu seperti pemrograman berorientasi objek, pengetikan statis, pemrograman berorientasi komponen, pengetikan kuat, dll. C# banyak digunakan dalam kerangka ASP.NET untuk membuat situs web, aplikasi web, dan permainan. Ada peluang besar untuk pemrograman C# di seluruh dunia. Jika Anda berpikir untuk membangun karir dalam pemrograman C#, Anda perlu melakukan wawancara di mana Anda akan ditanyai beberapa pertanyaan dan jawaban wawancara rumit C# dasar hingga C# seperti yang tercantum di bawah ini.

Ini adalah daftar pertanyaan dan jawaban wawancara C# teratas yang dikuratori, yang kemungkinan akan ditanyakan selama wawancara. Kandidat kemungkinan akan ditanyai pertanyaan wawancara C# dasar hingga pertanyaan wawancara C# lanjutan tergantung pada pengalaman mereka dan berbagai faktor lainnya. Daftar ini mencakup semua pertanyaan wawancara C tajam untuk mahasiswa baru serta pertanyaan wawancara C# untuk profesional berpengalaman.

Unduh PDF Gratis:Pertanyaan Wawancara Wawancara C#

Pertanyaan dan Jawaban Wawancara C# untuk Mahasiswa Baru dan Pengalaman 2/3/5/10 Tahun

Berikut adalah beberapa pertanyaan wawancara yang sering diajukan untuk calon pengembang C# yang baru dan berpengalaman untuk mendapatkan pekerjaan yang tepat.

Kami telah membahas 50+ pertanyaan dan jawaban wawancara C# dasar hingga lanjutan yang sering diajukan

C# Pertanyaan Wawancara Dasar untuk Freshers

1. Apa itu C#?

C# adalah bahasa berorientasi objek, aman untuk tipe, dan dikelola yang dikompilasi oleh .Net framework untuk menghasilkan Microsoft Intermediate Language.

2. Jelaskan jenis-jenis komentar dalam C# beserta contohnya

Baris tunggal

Contoh:

//This is a single line comment

ii. Beberapa baris (/* */)

Contoh:

/*This is a multiple line comment
We are in line 2
Last line of comment*/

aku aku aku. Komentar XML (///).

Misal:

/// summary;
/// Set error message for multilingual language.
/// summary

3. Bisakah beberapa blok tangkapan dieksekusi?

Tidak, Beberapa blok tangkapan dengan tipe serupa tidak dapat dijalankan. Setelah kode tangkap yang tepat dieksekusi, kontrol ditransfer ke blok terakhir, dan kemudian kode yang mengikuti blok akhirnya akan dieksekusi.

4. Apa perbedaan antara publik, statis, dan batal?

Variabel atau metode yang dideklarasikan publik dapat diakses di mana saja dalam aplikasi. Variabel atau metode statis yang dideklarasikan dapat diakses secara global tanpa membuat instance kelas. Anggota statis secara default tidak dapat diakses secara global tergantung pada jenis akses yang dimodifikasi yang digunakan. Kompilator menyimpan alamat metode sebagai titik masuk dan menggunakan informasi ini untuk memulai eksekusi sebelum objek dibuat. Dan Void adalah pengubah tipe yang menyatakan bahwa metode atau variabel tidak mengembalikan nilai apa pun.

5. Apa itu objek?

Objek di C#

Objek adalah turunan dari kelas di mana kita mengakses metode kelas itu. Kata kunci “Baru” digunakan untuk membuat objek. Kelas yang membuat objek dalam memori akan berisi informasi tentang metode, variabel, dan perilaku kelas tersebut.

6. Tentukan Konstruktor

Konstruktor adalah fungsi anggota dalam kelas yang memiliki nama yang sama dengan kelasnya. Konstruktor secara otomatis dipanggil setiap kali kelas objek dibuat. Ini membangun nilai anggota data saat menginisialisasi kelas.

7. Apa itu Array Bergerigi?

Array yang memiliki elemen bertipe array disebut jagged Array. Elemen dapat memiliki dimensi dan ukuran yang berbeda. Kita juga bisa memanggil Array bergerigi sebagai Array dari array.

8. Apa perbedaan antara parameter ref &out?

Argumen yang diteruskan sebagai ref harus diinisialisasi sebelum diteruskan ke metode sedangkan parameter out tidak perlu diinisialisasi sebelum diteruskan ke metode.

9. Apa gunanya pernyataan 'menggunakan' dalam C#?

Blok 'menggunakan' digunakan untuk mendapatkan sumber daya dan memprosesnya dan kemudian secara otomatis membuangnya saat eksekusi blok selesai.

10. Apa itu serialisasi?

Ketika kita ingin mengangkut suatu objek melalui jaringan, maka kita harus mengubah objek tersebut menjadi aliran byte. Proses mengubah objek menjadi aliran byte disebut Serialisasi. Untuk sebuah objek menjadi serializable, itu harus mengimplementasikan ISerialize Interface. De-serialisasi adalah proses kebalikan dari pembuatan objek dari aliran byte.

11. Bisakah kita menggunakan perintah "ini" dalam metode statis?

Kami tidak dapat menggunakan 'Ini' dalam metode statis karena kami hanya dapat menggunakan variabel/metode statis dalam metode statis.

12. Apa perbedaan antara konstanta dan hanya-baca?

Variabel konstan dideklarasikan dan diinisialisasi pada waktu kompilasi. Nilainya tidak dapat diubah setelahnya. Read-only hanya digunakan ketika kita ingin menetapkan nilai pada saat run time.

C# Pertanyaan Wawancara Lanjutan untuk Pengalaman 3/5/10 Tahun

13. Apa itu kelas antarmuka? Berikan salah satu contohnya

Antarmuka adalah kelas abstrak yang hanya memiliki metode abstrak publik, dan metode hanya memiliki deklarasi dan bukan definisi. Metode abstrak ini harus diimplementasikan di kelas yang diwarisi.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 interface Guru99Interface
 {
  void SetTutorial(int pID, string pName);
  String GetTutorial();
 }

 class Guru99Tutorial : Guru99Interface
 {
  protected int TutorialID;
  protected string TutorialName;

  public void SetTutorial(int pID, string pName)
  {
   TutorialID = pID;
   TutorialName = pName;
  }

  public String GetTutorial()
  {
   return TutorialName;
  }

  static void Main(string[] args)
  {
   Guru99Tutorial pTutor = new Guru99Tutorial();

   pTutor.SetTutorial(1,".Net by Guru99");

   Console.WriteLine(pTutor.GetTutorial());

   Console.ReadKey();
  }
 }
}

14. Apa itu tipe nilai dan tipe referensi?

Tipe nilai menyimpan nilai data di dalam ruang memorinya sendiri. Contoh

int a = 30;

Jenis referensi menyimpan alamat Objek tempat nilai disimpan. Ini adalah penunjuk ke lokasi memori lain.

string b = "Hello Guru99!!";

15. Apa itu Kontrol Kustom dan Kontrol Pengguna?

Kontrol Kustom adalah kontrol yang dihasilkan sebagai kode yang dikompilasi (Dlls), yang lebih mudah digunakan dan dapat ditambahkan ke kotak alat. Pengembang dapat menarik dan melepaskan kontrol ke formulir web mereka. Atribut bisa, pada waktu desain. Kami dapat dengan mudah menambahkan kontrol khusus ke Beberapa Aplikasi (Jika Dibagi Dll). Jadi, jika bersifat pribadi, maka kita dapat menyalin ke dll ke direktori bin aplikasi web dan kemudian menambahkan referensi dan dapat menggunakannya.

Kontrol Pengguna sangat mirip dengan ASP termasuk file, dan mudah dibuat. Kontrol pengguna tidak dapat ditempatkan di kotak alat dan diseret – dijatuhkan darinya. Mereka memiliki desain dan kode di belakang. Ekstensi file untuk kontrol pengguna adalah ascx.

16. Apa yang dimaksud dengan kelas tersegel dalam C#?

Kami membuat kelas yang disegel ketika kami ingin membatasi kelas yang akan diwarisi. Pengubah tertutup digunakan untuk mencegah derivasi dari suatu kelas. Jika kita secara paksa menentukan kelas yang disegel sebagai kelas dasar, maka akan terjadi kesalahan waktu kompilasi.

17. Apa itu kelebihan metode?

Metode overloading adalah membuat beberapa metode dengan nama yang sama dengan tanda tangan unik di kelas yang sama. Saat kami mengompilasi, kompiler menggunakan resolusi kelebihan untuk menentukan metode spesifik yang akan dipanggil.

18. Apa perbedaan antara Array dan Arraylist?

Dalam sebuah array, kita hanya dapat memiliki item dengan tipe yang sama. Ukuran array adalah tetap jika dibandingkan. Ke daftar array mirip dengan array, tetapi tidak memiliki ukuran tetap.

19. Bisakah metode virtual pribadi dapat diganti?

Tidak, karena tidak dapat diakses di luar kelas.

20. Jelaskan pengubah aksesibilitas “internal yang dilindungi”.

Variabel/metode Internal yang Dilindungi dapat diakses dalam majelis yang sama dan juga dari kelas yang diturunkan dari kelas induk ini.

21. Apa perbedaan antara kelas System.String dan System.Text.StringBuilder?

System.String tidak dapat diubah. Ketika kita mengubah nilai variabel string, maka memori baru dialokasikan ke nilai baru dan alokasi memori sebelumnya dilepaskan. System.StringBuilder dirancang untuk memiliki konsep string yang dapat diubah di mana berbagai operasi dapat dilakukan tanpa alokasi lokasi memori yang terpisah untuk string yang dimodifikasi.

22. Apa perbedaan antara System.Array.CopyTo() dan System.Array.Clone() ?

Menggunakan metode Clone(), kita membuat objek array baru yang berisi semua elemen dalam Array asli dan menggunakan metode CopyTo(). Semua elemen dari larik yang ada disalin ke larik lain yang sudah ada. Kedua metode melakukan salinan dangkal.

23. Bagaimana kita bisa mengurutkan elemen Array dalam urutan menurun?

Menggunakan metode Sort() diikuti dengan metode Reverse().

24. Tuliskan sintaks C# untuk menangkap pengecualian

Untuk menangkap pengecualian, kami menggunakan blok try-catch. Blok tangkapan dapat memiliki parameter tipe system.Exception.

Misal:

try {
    GetAllData();
} 
catch (Exception ex) {
}

Pada contoh di atas, kita dapat menghilangkan parameter dari pernyataan catch.

25. Apa perbedaan antara antarmuka dan kelas abstrak?

Antarmuka memiliki semua metode yang hanya memiliki deklarasi tetapi tidak ada definisi. Dalam kelas abstrak, kita dapat memiliki beberapa metode konkret. Di kelas antarmuka, semua metode bersifat publik. Kelas abstrak mungkin memiliki metode pribadi.

26. Apa perbedaan antara metode Finalize() dan Dispose()?

Buang() dipanggil ketika kita ingin sebuah objek melepaskan semua sumber daya yang tidak terkelola dengannya. Di sisi lain, Finalize() digunakan untuk tujuan yang sama, tetapi tidak menjamin pengumpulan sampah suatu objek.

27. Apa itu referensi melingkar?

Referensi melingkar adalah situasi di mana dua atau lebih sumber daya saling bergantung satu sama lain menyebabkan kondisi kunci dan membuat sumber daya tidak dapat digunakan.

28. Apa yang dimaksud dengan obat generik di C#.NET?

Generik digunakan untuk membuat kelas kode yang dapat digunakan kembali untuk mengurangi redundansi kode, meningkatkan keamanan tipe, dan kinerja. Menggunakan generik, kita dapat membuat kelas koleksi. Untuk membuat koleksi generik, namespace System.Collections.Generic harus digunakan sebagai ganti kelas seperti ArrayList di namespace System.Collections. Generik mempromosikan penggunaan tipe berparameter.

29. Apa itu kumpulan objek di .NET?

Pool objek adalah wadah yang memiliki objek yang siap digunakan. Ini melacak objek yang sedang digunakan, jumlah total objek di kolam. Ini mengurangi biaya pembuatan dan pembuatan ulang objek.

30. Buat daftar jenis pengecualian yang umum digunakan di .net

ArgumentException, ArgumentNullException, ArgumentOutOfRangeException, ArithmeticException, DivideByZeroException, OverflowException, IndexOutOfRangeException, InvalidCastException, InvalidOperationException, IOEndOfStreamException, NullReferenceException, OutOfMemoryException, StackOverflowException, dll.

31. Apa itu Pengecualian Khusus?

Terkadang ada beberapa kesalahan yang perlu ditangani sesuai kebutuhan pengguna. Pengecualian khusus digunakan untuk mereka dan digunakan pengecualian yang ditentukan.

32. Apa itu delegasi?

Delegasi sama adalah pointer fungsi di C++, tetapi satu-satunya perbedaan adalah mereka aman untuk tipe, tidak seperti pointer fungsi. Delegasi diperlukan karena mereka dapat digunakan untuk menulis fungsi tipe-safe yang jauh lebih umum.

33. Bagaimana Anda mewarisi kelas ke kelas lain di C#?

Titik dua digunakan sebagai operator pewarisan dalam C#. Cukup tempatkan titik dua dan kemudian nama kelas.

Kelas Turunan kelas publik :Kelas Dasar

34. Apa kelas dasar di .net dari mana semua kelas diturunkan?

System.Object

35. Apa perbedaan antara metode overriding dan metode overloading?

Dalam penggantian metode, kami mengubah definisi metode di kelas turunan yang mengubah perilaku metode. Metode overloading adalah membuat metode dengan nama yang sama dalam kelas yang sama memiliki tanda tangan yang berbeda.

36. Apa saja cara yang berbeda untuk suatu metode dapat kelebihan beban?

Metode dapat kelebihan beban menggunakan tipe data yang berbeda untuk suatu parameter, urutan parameter yang berbeda, dan jumlah parameter yang berbeda.

37. Mengapa Anda tidak dapat menentukan pengubah aksesibilitas untuk metode di dalam antarmuka?

Dalam sebuah antarmuka, kami memiliki metode virtual yang tidak memiliki definisi metode. Semua metode ada untuk diganti di kelas turunan. Itu sebabnya mereka semua bersifat publik.

38. Bagaimana kita bisa mengatur kelas untuk diwarisi, tetapi mencegah metode agar tidak di-over-ride?

Deklarasikan kelas sebagai publik dan buat metode disegel untuk mencegahnya ditimpa.

39. Apa yang terjadi jika antarmuka yang diwarisi memiliki nama metode yang bertentangan?

Implement terserah Anda karena metodenya ada di dalam kelas Anda sendiri. Mungkin ada masalah ketika metode dari antarmuka yang berbeda mengharapkan data yang berbeda, tetapi sejauh yang diperhatikan oleh kompiler, Anda baik-baik saja.

40. Apa perbedaan antara Struktur dan Kelas?

Struct adalah variabel tipe nilai, dan kelas adalah tipe referensi. Struct yang disimpan di Stack menyebabkan overhead tambahan tetapi pengambilan lebih cepat. Struct tidak dapat diwariskan.

41. Bagaimana cara menggunakan tipe nullable di .Net?

Jenis nilai dapat mengambil nilai normal atau nilai nol. Tipe seperti ini disebut tipe nullable.

Int? someID = null;
If(someID.HasVAlue)
{
}

42. Bagaimana kita bisa membuat array dengan nilai non-default?

Kita dapat membuat array dengan nilai non-default menggunakan Enumerable.Repeat.

43. Apa perbedaan antara operator "adalah" dan "sebagai" di c#?

Operator “is” digunakan untuk memeriksa kompatibilitas objek dengan tipe tertentu, dan mengembalikan hasilnya sebagai Boolean.

Operator “as” digunakan untuk mentransmisikan objek ke tipe atau kelas.

44. Apa itu delegasi multicast?

Delegasi yang memiliki beberapa penangan yang ditugaskan padanya disebut delegasi multicast. Setiap handler ditugaskan ke sebuah metode.

45. Apa itu pengindeks di C# .NET?

Pengindeks dikenal sebagai array pintar di C#. Ini memungkinkan instance kelas diindeks dengan cara yang sama seperti array.

Misal:

public int this[int index]    // Indexer declaration

46. Apa perbedaan antara "lempar" dan "lemparan" di .NET?

Pernyataan "Lempar" mempertahankan tumpukan kesalahan asli sedangkan "lemparan mantan" memiliki jejak tumpukan dari titik lemparannya. Selalu disarankan untuk menggunakan "lemparan" karena memberikan informasi kesalahan yang lebih akurat.

47. Apa atribut C# dan signifikansinya?

C# memberi pengembang cara untuk mendefinisikan tag deklaratif pada entitas tertentu, mis. Kelas, metode, dll disebut atribut. Informasi atribut dapat diambil saat runtime menggunakan Reflection.

48. Bagaimana menerapkan pola desain tunggal di C#?

Dalam pola tunggal, kelas hanya dapat memiliki satu instance dan menyediakan titik akses ke kelas tersebut secara global.

Misal:

Public sealed class Singleton
{
Private static readonly Singleton _instance = new Singleton();
}

49. Apa perbedaan antara directcast dan ctype?

DirectCast digunakan untuk mengonversi tipe objek yang memerlukan tipe run-time sama dengan tipe yang ditentukan di DirectCast.

Ctype digunakan untuk konversi di mana konversi didefinisikan antara ekspresi dan tipe.

50. Apakah kode C# adalah kode yang dikelola atau tidak?

C# adalah kode terkelola karena runtime bahasa umum dapat mengkompilasi kode C# ke bahasa Intermediate.

51. Apa itu aplikasi Konsol?

Aplikasi konsol adalah aplikasi yang dapat dijalankan di command prompt di Windows. Untuk setiap pemula di .Net, membangun aplikasi konsol idealnya adalah langkah pertama, untuk memulai.

52. Berikan contoh menghapus elemen dari antrian

Metode dequeue digunakan untuk menghapus elemen dari antrian.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   Queue qt = new Queue();
   qt.Enqueue(1);
   qt.Enqueue(2);
   qt.Enqueue(3);

   foreach (Object obj in qt)
   {
    Console.WriteLine(obj);
   }
    Console.WriteLine(); Console.WriteLine();
    Console.WriteLine("The number of elements in the Queue " + qt.Count);
    Console.WriteLine("Does the Queue contain " + qt.Contains(3));
    Console.ReadKey();
   }
 }
}

Bahasa C

  1. Metrik Teratas untuk Mengukur Pengalaman Pengguna Akhir di Aplikasi Cloud Anda
  2. Pertanyaan &Jawaban Wawancara Cloud Teratas untuk tahun 2020
  3. Lima masalah dan tantangan teratas untuk 5G
  4. 10 C# IDE Terbaik untuk Windows, Linux, Mac (Pembaruan 2021)
  5. Supply Chain Finance:Tren, Tantangan, dan Pertanyaan untuk 2019
  6. Pembaruan penghargaan:Penghargaan Berita Robotika dan Otomasi 2021 akan dilanjutkan
  7. pertanyaan dan jawaban lisan elektrik meo kelas 4
  8. 5G dan Edge Meningkatkan Tantangan Keamanan Siber Baru untuk 2021
  9. Tanya Jawab Tentang Pembuatan Lampu Mati
  10. 5 Artikel Udara dan Gas Terkompresi Teratas tahun 2021