50 Pertanyaan & Jawaban Wawancara Pemrograman yang Harus Diketahui

Sedang mencari pertanyaan dan jawaban pemrograman teratas untuk membantu Anda lolos wawancara? Berikut 50 pertanyaan teratas.

Perusahaan perangkat lunak selalu mencari bakat pemrograman yang baik, dengan wawancara telepon dan daring yang sering kali menentukan nasib Anda hanya dalam beberapa menit.

Seorang programmer yang baik harus serba bisa – mulai dari pemahaman sistem hingga pemrograman umum, berbagai konsep dan teknologi, serta selalu mengikuti perkembangan zaman.

Berikut ini adalah daftar 50 pertanyaan wawancara pemrograman teratas beserta jawabannya. Pertanyaan-pertanyaan tersebut menjelaskan berbagai konsep yang harus diketahui setiap pemula agar dapat unggul.

Daftar Isi menyembunyikan

1. Apa itu Pemrograman Komputer?

Pemrograman komputer adalah proses pengkodean proses logis yang akan dijalankan oleh komputer. Hal ini dilakukan dengan menggunakan bahasa komputer yang berisi instruksi yang diperlukan.

Prosesnya dapat dibagi lagi menjadi desain, pengkodean, debugging, dan pembaruan.

2. Apa itu Debugging?

Debugging adalah proses menemukan dan menghilangkan kesalahan dalam sumber perangkat lunak program komputer. Ada banyak metode untuk melakukannya, tetapi sebagian besar lingkungan pengembangan dilengkapi dengan debugger terintegrasi untuk mempermudah.

3. Apa itu Kompiler?

Kompiler adalah program perangkat lunak yang mengambil program tertulis dan mengubahnya menjadi kode mesin yang dapat dipahami komputer.

Namun, paket kompiler umum terdiri dari praprosesor, kompiler utama yang mengubah bahasa komputer menjadi kode assembly, dan assembler.

4. Apa itu Praprosesor?

Praprosesor adalah program yang menganalisis kode komputer tertulis untuk menemukan dan memenuhi dependensinya, seperti pustaka yang dibutuhkan.

Setelah praprosesor memastikan bahwa semuanya, termasuk lingkungan eksekusi, baik-baik saja, kompiler kemudian dapat mengubah kode tersebut menjadi kode assembly.

5. Apa itu Assembler?

Assembler adalah program yang mengambil level terendah dari kode komputer yang dapat dibaca manusia yang disebut bahasa assembly dan mengubahnya menjadi kode mesin yang dapat digunakan oleh komputer.

Bahasa assembly biasanya dihasilkan oleh kompiler, meskipun seseorang juga dapat mengkodekannya secara langsung. Program assembly mungkin menyertakan kode seperti:

Pindah AH, 02H

tetapi ketika Anda mengompilasinya ke kode mesin, Anda hanya mendapatkan nol dan satu (misalnya 0110011110101010).

6. Bagaimana Program Dijalankan?

Pertama, sistem operasi memuat program yang ditentukan dari penyimpanan hard-disk ke dalam memori sistem (RAM) dan kemudian mengizinkannya untuk dijalankan dengan mengarahkan CPU untuk melanjutkan eksekusinya dari alamat memori pertama program tersebut. CPU menjalankan perintah apa pun yang dilihatnya, kemudian beralih ke perintah berikutnya, sering kali mengulangi prosedur ini jutaan kali per detik.

CPU 32-bit menjalankan instruksi 32-bit (4-byte, kata ganda) sekaligus, sementara CPU 64-bit menjalankan instruksi 64-bit (8-byte, kata empat) sekaligus. Instruksi ini tertanam di dalam CPU dan assembler-lah yang mengubah kode pemrograman menjadi angka biner yang mewakili alamat perintah CPU asli.

7. Definisikan Subrutin

Subroutine adalah serangkaian instruksi dalam program yang dapat dipanggil dan dijalankan kapan saja. Dengan kata lain, subroutine dapat berupa fungsi, metode, atau prosedur yang digunakan untuk mengimplementasikan tugas tertentu seperti mengirim email, membuka file, atau melakukan brute-force pada halaman login.

8. Tentukan Kode Mesin

Kode mesin adalah serangkaian angka biner yang menyimpan instruksi eksekusi suatu mikroprosesor tertentu dan alamat memori terkaitnya.

Kode mesin secara tradisional dikeluarkan oleh assembler yang dirancang untuk keluarga mikroprosesor tertentu.

9. Jelaskan Bahasa yang dikompilasi vs. Bahasa yang ditafsirkan

Bahasa komputer yang dikompilasi harus diubah menjadi kode mesin sebelum dieksekusi di komputer, sedangkan bahasa yang ditafsirkan tidak memerlukan kompilasi terlebih dahulu.

Saat Anda menjalankan program yang diinterpretasikan, program tersebut diproses terlebih dahulu oleh interpreter, yang kemudian mengompilasi dan mengeksekusinya dengan cepat. Langkah-langkah tambahan ini membuat bahasa yang diinterpretasikan seperti Python lebih lambat daripada bahasa yang dikompilasi seperti C.

10. Apa itu Loop?

Loop adalah struktur kode yang dapat mengulang pernyataan tertentu hingga kriteria tertentu tercapai. Kriteria ini dapat mencakup sejumlah pengulangan tetap atau perubahan variabel yang ditentukan.

11. Sebutkan jenis-jenis Loop yang populer

Bahasa komputer yang berbeda akan menginterpretasikan loop dengan cara yang berbeda. Namun, tipe loop keluarga C yang populer meliputi:

  1. Perulangan While() – memungkinkan eksekusi kode tertentu, selama Boolean ketika() syaratnya terpenuhi.
    Misalnya sementara(2>1){cetak(“yahoo!”)};.
  2. Perulangan Untuk(;;) – berisi tiga ekspresi (inisialisasi; evaluasi; pembaruan) yang menentukan kondisi yang akan diuji, serta metode fleksibel untuk menambah jumlah. Ia juga akan mengeksekusi kode setidaknya satu kali.
  3. Lakukan{} While() Perulangan – jenis loop ini mengeksekusi Mengerjakan{} kode setidaknya sekali sebelum menentukan apakah ketika() kondisinya masih benar.

12. Jelaskan perbedaan Iterasi dan Rekursi

Iterasi adalah penggunaan loop untuk menjalankan langkah kode yang sama, sedangkan rekursi adalah proses fungsi yang memanggil dirinya sendiri berulang-ulang. Namun, masalah dengan rekursi adalah Anda hanya dapat mencapai kedalaman tertentu hingga Anda mengalami masalah memori.

13. Jelaskan Pekerjaan Istirahat dan Lanjutkan dalam Satu Lingkaran

A istirahat pernyataan mengakhiri eksekusi loop dan terus mengeksekusi sisa kode komputer. terus pernyataan , di sisi lain, terus mengulang loop dari awal.

14. Apa itu OOP?

OOP adalah singkatan dari Object Oriented Programming dan merupakan paradigma pemrograman yang mengimplementasikan desain perangkat lunak di sekitar data dan objek, bukan di sekitar fungsi atau prosedur.

15. Apa itu Pemrograman Prosedural?

Pemrograman prosedural adalah paradigma pemrograman yang mengatur kode komputer berdasarkan urutan atau langkah instruksi yang akan dijalankan. Sesuai namanya, ini adalah pendekatan top-down yang memulai kode dari fase awal kejadian dan berakhir dengan akhir kejadian yang diharapkan.

16. Jelaskan Pemrograman Fungsional

Pemrograman fungsional adalah paradigma pemrograman komputer yang mendekati pengembangan perangkat lunak dengan menerapkan fungsi berurutan yang tidak mengubah status maupun data argumen yang diberikan.

Sasarannya adalah untuk menciptakan program yang lebih kuat yang menghasilkan hasil yang diharapkan tanpa efek samping yang tidak terduga.

17. Jelaskan Bahasa Tingkat Tinggi

Bahasa pemrograman tingkat tinggi adalah bahasa komputer yang lebih menekankan pada pemahaman manusia daripada pada hal-hal spesifik atau sifat komputer.

Bahasa pemrograman tingkat tinggi seperti C dan Python mudah dipahami, sedangkan bahasa assembly tingkat rendah bisa sangat membingungkan bagi pemula.

18. Daftar Populer Bahasa Tingkat Rendah

Hanya ada dua bahasa pemrograman tingkat rendah: assembly dan kode mesin.

19. Definisikan Serangan Injeksi SQL

Serangan injeksi SQL adalah proses memasukkan pernyataan SQL ke dalam kolom input seperti input nama pengguna atau alamat, dengan harapan pengembang tidak membersihkan input dengan benar selama pemrograman. Dan jika berhasil, serangan semacam itu memungkinkan penyerang memperoleh akses admin ke server.

20. Apa itu Tabel dalam SQL?

Tabel dalam SQL mengacu pada kumpulan data yang dikelompokkan dalam kolom dan baris. Setiap kolom memiliki tipe data yang berbeda dan Anda dapat memiliki beberapa Tabel dalam satu database. Anda juga dapat meminta lebih dari satu Tabel sekaligus.

Anda membuat Tabel dengan:

BUAT TABEL nama_tabel(tipe data kolom1, tipe data kolom2, tipe data kolom3, …);

21. Jelaskan perbedaan antara objek dan kelas

Objek adalah contoh dari kelas, sedangkan kelas adalah cetak biru tempat objek dibuat. Objek dapat memiliki status dan properti, seperti warna, tinggi, berat, kecepatan, dan sebagainya.

Properti ini harus didefinisikan atau diinisialisasi dengan nilai default minimal.

22. Berapa Banyak Bit yang Membuat Satu Megabyte?

Ada 8,000,000 bit dalam 1 Megabyte karena satu byte adalah 8 bit dan satu Mega adalah 106.

23. Tentukan Tipe Data Float

Float adalah tipe data yang mewakili angka dengan pecahan desimal. Float digunakan dalam situasi yang membutuhkan tingkat presisi lebih tinggi daripada yang dapat diberikan oleh bilangan bulat standar. Contoh float adalah:

0.013 

or 

25.932

24. Apa kepanjangan dari HexaDecimal 0xFF?

0xFF merupakan singkatan dari Desimal 255 atau Biner 11111111. 0x merupakan singkatan dari basis 16 atau notasi Heksadesimal, yang dimulai dari 1 hingga 9 dan dilanjutkan dengan A hingga F untuk mewakili 15. Jadi, 0xF merupakan desimal 15, sedangkan 0xFF merupakan desimal 255.

25. Sebutkan Jenis-jenis Kesalahan dalam Pemrograman

Ada 3 jenis kesalahan utama dalam program komputer, yaitu:

  1. Kesalahan sintaks
  2. Kesalahan Logis
  3. Kesalahan runtime

26. Apa itu Kesalahan Sintaksis?

Kesalahan sintaksis terjadi saat terjadi penyimpangan dari sintaksis bahasa pemrograman yang sering kali ketat. Hal ini dapat terjadi akibat kesalahan penempatan huruf pada parameter yang salah saat diteruskan ke suatu fungsi. Sebagian besar kompiler akan menyertakan nomor baris kode sumber tempat kesalahan terjadi.

27. Apa itu Kesalahan Logika?

Kesalahan logika adalah kesalahan yang muncul dari cara kerja suatu program. Jadi, meskipun program tersebut dapat berjalan dengan sempurna, namun gagal mencapai tujuannya. Kesalahan logika dapat terjadi dalam berbagai cara dan disebabkan oleh berbagai alasan.

28. Apa itu Runtime Error?

Kesalahan runtime adalah kesalahan program komputer yang terjadi selama eksekusi program dan karena keadaan yang tidak terduga. Jadi, meskipun program berfungsi dengan sempurna, misalnya, masalah memori dan jaringan dapat menyebabkan program tidak berfungsi dengan baik.

29. Jelaskan Bahasa yang Kuat dan Bahasa yang Diketik Lemah

Bahasa yang diketik kuat bersifat ketat tentang berbagai tipe datanya dan bagaimana Anda dapat mengonversinya, sementara bahasa yang diketik lemah memberikan lebih sedikit batasan pada tipe data dan definisinya.

Banyak bahasa yang diketik lemah akan mengonversi tipe data secara otomatis, sedangkan bahasa yang diketik kuat kerap kali memerlukan konversi eksplisit.

30. Apa itu Arsitektur MVC?

MVC adalah singkatan dari Model-View-Controller dan merupakan pola pengembangan perangkat lunak untuk antarmuka pengguna. Pola ini memisahkan logika program menjadi 3 bagian.

The model bagian menangani logika data yang mendasari objek yang dimaksud, sementara melihat menangani tampilan informasi kepada pengguna, dan pengawas menangani aliran data antara tampilan dan model. Desain MVC sering digunakan dengan pemrograman berorientasi objek.

31. Jelaskan definisi Algoritma

Algoritma adalah serangkaian prosedur yang dirancang untuk memecahkan masalah tertentu. Prosedur ini biasanya dipecah menjadi langkah-langkah yang lebih kecil dan komputer melakukannya dengan cara yang sama setiap saat.

Contoh algoritma meliputi pengenalan wajah, pencarian Google, cara Anda mengikat sepatu, pengkodean atau enkripsi data, dan seterusnya.

32. apa yang Pembelajaran Mesin?

Pembelajaran mesin atau ML adalah bagian dari kecerdasan buatan yang berfokus pada membantu sistem mengidentifikasi pola dan membuat keputusan sendiri melalui konsumsi data.

Hal ini kemudian meningkatkan kinerja atau efisiensi mereka. Sistem pembelajaran mesin dapat diawasi, tidak diawasi, dan berbasis penguatan.

33. Apa Ekspresi Reguler?

Ekspresi reguler atau Regex adalah string yang digunakan untuk menentukan pola pencarian dalam dokumen teks. Bahasa pemrograman yang berbeda menerapkan ekspresi reguler atau menggunakan pustaka regex yang populer. Contoh regex untuk mencocokkan semua karakter dalam teks adalah:

(.*)

sementara yang berikut ini hanya cocok dengan file mp3:

.+\.(mp3)$

34. Apa Fungsi Operator Modulus (%)?

Operator modulus % mengambil dua operan dan membagi operan pertama dengan operan kedua. Kemudian, hasilnya adalah sisa operasi.

Sering digunakan untuk menguji angka ganjil dan genap dengan membagi bilangan bulat apa pun dengan 2, di mana hasil 0 berarti angka genap dan 1 berarti angka ganjil.

35. Jelaskan Proses Percabangan

Forking berasal dari garpu() fungsi dalam sistem Unix dan Linux yang dapat digunakan oleh proses yang sedang berjalan untuk membuat salinan dirinya sendiri. Jadi, percabangan proses adalah duplikasi suatu proses untuk membuat dua proses yang serupa dan berjalan secara bersamaan.

Jenis percabangan lainnya mengacu pada pengambilan kode sumber dari suatu proyek sumber terbuka dan menciptakan program yang sepenuhnya baru dari kode tersebut.

36. Jelaskan Pemijahan Benang

Pemijahan thread adalah proses pembuatan thread CPU baru untuk menjalankan suatu proses. Pemijahan sering kali digunakan oleh program yang membutuhkan komputasi intensif untuk memanfaatkan kemampuan multi-threading prosesor dan keberhasilannya bergantung pada CPU yang menjalankannya, berapa banyak inti yang dimilikinya, dan berapa banyak thread per inti yang ditawarkannya.

37. Apa yang dimaksud Kata-kata Cadangan Berarti?

Kata-kata yang dicadangkan adalah istilah yang tidak boleh Anda gunakan sebagai pengenal dalam bahasa pemrograman. Ini termasuk fungsi, variabel, dan label. Kata-kata tersebut dicadangkan karena sudah didefinisikan dan memiliki makna tertentu.

38. Daftar Kata Cadangan yang Populer

Bahasa yang berbeda memiliki kata-kata khusus yang berbeda berdasarkan sintaksisnya. Berikut adalah kata-kata khusus yang paling populer dalam pemrograman:

  1. IF
  2. BENAR
  3. SALAH
  4. SWITCH
  5. ELSE
  6. KASUS
  7. BOLEAN
  8. KEMBALI
  9. FUNGSI
  10. BREAK
  11. GOTO

39. Apa itu String?

String adalah serangkaian karakter, yang sering disimpan dalam array dan digunakan untuk menentukan data teks. String yang paling populer adalah “hello world”.

40. Apa itu Variabel?

Variabel adalah nilai apa pun yang dapat berubah selama program dijalankan. Variabel dapat berupa tipe data apa pun, termasuk string dan integer. Misalnya, program diinisialisasi seperti di bawah ini:

int = 0;

ke dalam b = 1;

kemudian pada saat eksekusi terjadi perubahan :

b = a+b; //b telah bervariasi

41. Apa itu Konstanta?

Konstanta adalah variabel yang tidak diharapkan berubah selama eksekusi program. Contoh yang bagus adalah kecepatan cahaya atau suara. Bahasa pemrograman yang berbeda memungkinkan Anda mendefinisikan konstanta dengan cara yang berbeda. Misalnya, dalam C:

const float middle_c = 261.62; //tengah Tombol c pada piano adalah 261.6255 Hz

42. Definisikan Array

Array adalah jenis variabel yang digunakan untuk menyimpan beberapa nilai sekaligus. Banyak bahasa pemrograman yang memungkinkan Anda menyimpan nilai dengan tipe data yang sama saja, sementara bahasa pemrograman lain dapat menangani array dengan tipe yang berbeda. Anda juga dapat memiliki array multidimensi, yang merupakan array dari array dan dapat menjadi berantakan.

Mendefinisikan array di mql4 sederhana dengan:

string TextArray[100]; //array berisi ratusan string

43. apa yang Fungsi Kelebihan Beban?

Overloading fungsi adalah metode yang memungkinkan pengembang untuk menentukan beberapa fungsi yang memiliki nama yang sama tetapi memiliki fungsi yang berbeda. Hal ini dicapai dengan membuat versi fungsi yang berbeda dengan argumen yang berbeda. Kompiler kemudian mengetahui fungsi mana yang dibutuhkan berdasarkan jenis dan jumlah argumen yang diberikan.

44. Definisikan Panggilan Dengan Referensi

Panggilan dengan referensi adalah metode untuk meneruskan alamat memori argumen ke suatu fungsi, berbeda dengan metode standar untuk meneruskan salinan nilai argumen. Tujuan dari panggilan referensi adalah agar argumen dimodifikasi secara langsung oleh fungsi.

45. Jelaskan Operator Aritmatika

Ini adalah karakter khusus yang berfungsi untuk melakukan operasi aritmatika dalam bahasa pemrograman. Operator aritmatika meliputi:

  1. Penambahan atau unary plus (+)
  2. Pengurangan atau unary minus (-)
  3. Perkalian (*)
  4. Divisi (/)
  5. Modulus (%).

46. Jelaskan Operator logis

Operator logika adalah kata atau simbol yang digunakan untuk melakukan operasi berdasarkan logika kondisional. Sebagian besar bahasa hanya memiliki 3 operator logika:

  1. DAN (&& dalam C, C++, JavaScript)
  2. OR (|| dalam C, C++, JavaScript)
  3. JANGAN (! dalam C, C++, JavaScript)

47. Logika 1 DAN 0 =?

Operasi logika 1 DAN 0 akan memberi Anda palsu karena operan kedua adalah 0 dan Anda memerlukan kedua operan operasi AND menjadi 1 atau TRUE untuk memperoleh keluaran positif.

48. Logika TIDAK 1 =?

Operasi logika NOT 1 akan memberi Anda palsu karena operator NOT meniadakan apa pun yang Anda berikan, artinya mengubah 1 menjadi 0 dan 0 menjadi 1. Jadi, memberinya operan 1 atau TRUE akan menghasilkan 0 atau FALSE.

49. Logika 1 NAND 1 =?

Operasi logika 1 NAND 1 akan menghasilkan palsu karena kedua operannya BENAR dan operator NAND selalu meniadakan dua masukan serupa untuk menghasilkan keluaran yang berlawanan.

Oleh karena itu, jika operasi tersebut 0 NAND 0, maka outputnya akan menjadi 1 atau BENAR.

50. Logika 1 XOR 1 =?

Operasi logika 1 XOR 1 akan menghasilkan palsu karena sementara operasi OR normal akan menghasilkan TRUE pada salah satu atau kedua input yang TRUE, operasi XOR (Exclusive OR) hanya menghasilkan TRUE ketika hanya satu input dan bukan yang lain, yang TRUE.

Kesimpulan

Kita telah sampai di akhir daftar 50 pertanyaan wawancara pemrograman yang wajib diketahui beserta jawabannya. Dan seperti yang Anda lihat, dunia pemrograman itu luas namun menarik.

Tidak ada dua wawancara yang sama. Jadi, meskipun daftar ini mengarahkan Anda ke topik yang tepat, Anda juga harus mencoba untuk memperoleh pemahaman yang lebih baik tentang setiap isu.

Nnamdi Okeke

Nnamdi Okeke

Nnamdi Okeke adalah seorang penggemar komputer yang gemar membaca berbagai macam buku. Ia lebih menyukai Linux daripada Windows/Mac dan telah menggunakan
Ubuntu sejak awal berdirinya. Anda dapat menghubunginya di twitter melalui bongotrax

Artikel: 298

Terima barang-barang teknis

Tren teknologi, tren startup, ulasan, pendapatan online, alat web, dan pemasaran sekali atau dua kali sebulan