Pertanyaan interview teknikal backend yang sering muncul dan cara menjawabnya
Jawaban singkat: wawancara teknikal untuk programmer backend hampir selalu berputar di sekitar empat area: dasar bahasa pemrograman, database (SQL, indeks, transaksi), desain API (REST, idempotensi, autentikasi), dan cara kamu memecahkan masalah sambil berpikir keras. Pertanyaan persisnya berbeda di tiap perusahaan dan tidak ada daftar resmi, jadi yang bisa dipersiapkan adalah pola jawabannya: definisi singkat, contoh nyata dari pengalamanmu, lalu trade-off. Contoh jawaban di bawah bersifat ilustratif, bukan kutipan dari perusahaan tertentu.
Pola jawaban yang aman untuk hampir semua pertanyaan
Pewawancara jarang mencari definisi buku teks. Mereka ingin tahu apakah kamu benar-benar pernah memakai konsepnya. Pola tiga langkah ini cocok untuk hampir semua pertanyaan teknikal:
- Definisi satu kalimat. Jawab langsung, tanpa berputar-putar.
- Contoh konkret. Satu kasus dari proyek, magang, atau tugas kuliahmu. Kalau belum punya pengalaman kerja, pakai proyek pribadi dan katakan terus terang bahwa itu proyek pribadi.
- Trade-off atau batasannya. Kapan pendekatan itu tidak cocok. Bagian inilah yang membedakan jawaban junior biasa dari jawaban yang meyakinkan.
Kalau tidak tahu jawabannya, lebih baik jujur: "Saya belum pernah memakai itu langsung, tapi dugaan saya begini, dan saya akan memeriksanya di dokumentasi." Itu jauh lebih baik daripada menebak dengan percaya diri lalu terbukti salah. Untuk format tes tertulis atau tes daring sebelum wawancara, lihat artikel tes coding untuk karyawan IT.
Pertanyaan dasar bahasa pemrograman (Java, JavaScript, Python, Go)
Bahasa yang ditanyakan mengikuti lowongannya, jadi baca deskripsi pekerjaan dan siapkan bahasa yang tertulis di sana. Pertanyaan yang sering muncul secara umum:
- Perbedaan
==dan===di JavaScript.==mencoba mengubah tipe operand sebelum membandingkan, sedangkan===tidak pernah mengubah tipe: kalau tipenya beda, hasilnyafalse. Contoh:"3" === 3bernilaifalse, danNaN === NaNjugafalse(dokumentasi MDN). - Cara kerja HashMap di Java. Tidak disinkronisasi, mengizinkan kunci dan nilai
null, dan urutannya tidak dijamin. Kalau banyak thread mengubah struktur map, perlu sinkronisasi eksternal atau struktur data yang memang dirancang untuk konkurensi (dokumentasi Oracle). - Perbedaan proses dan thread, serta apa itu race condition. Jelaskan dengan contoh: dua request memperbarui saldo yang sama tanpa penguncian.
- Pass by value vs reference, garbage collection secara garis besar, dan kapan kamu memakai interface dibanding kelas abstrak.
Contoh jawaban ilustratif untuk "apa itu race condition?": "Race condition terjadi ketika hasil program bergantung pada urutan eksekusi dua proses yang mengakses data bersama. Misalnya dua request menarik saldo yang sama secara bersamaan, keduanya membaca saldo lama, dan salah satu pembaruan hilang. Cara menanganinya: transaksi database dengan penguncian yang sesuai, atau operasi atomik. Trade-off-nya, penguncian yang terlalu lebar menurunkan throughput."
Pertanyaan database: SQL, indeks, dan transaksi
Untuk posisi backend, bagian ini hampir pasti ada. Pertanyaan klasiknya:
- Apa fungsi indeks dan apa harganya? Indeks membuat database bisa menemukan baris tanpa memindai seluruh tabel, tetapi harus disinkronkan setiap data berubah, sehingga menambah beban pada operasi tulis (INSERT, UPDATE, DELETE). Dokumentasi PostgreSQL bahkan menyarankan menghapus indeks yang jarang atau tidak pernah dipakai. Jawaban bagus menyebut kedua sisi ini.
- INNER JOIN vs LEFT JOIN, dan kapan hasilnya mengejutkan (misalnya filter di klausa WHERE yang diam-diam mengubah LEFT JOIN menjadi INNER JOIN).
- Level isolasi transaksi. Di PostgreSQL ada empat level standar (Read Uncommitted, Read Committed, Repeatable Read, Serializable), dan Read Committed adalah default; Read Uncommitted di PostgreSQL berperilaku seperti Read Committed. Database lain bisa berbeda, jadi sebutkan database yang kamu pakai.
- Masalah N+1 query pada ORM dan cara mengatasinya (join fetch, batching).
- Kapan memilih SQL dan kapan NoSQL. Hindari jawaban "NoSQL lebih cepat"; jelaskan kebutuhan konsistensi, bentuk data, dan pola akses.
Latihan yang efektif: ambil satu query lambat dari proyekmu, jalankan EXPLAIN, dan ceritakan apa yang kamu temukan. Cerita seperti itu lebih meyakinkan daripada hafalan.
Pertanyaan desain API dan layanan backend
- Apa itu idempotensi? Sebuah metode HTTP idempoten jika efek di server dari satu request sama dengan efek dari beberapa request identik. GET, HEAD, OPTIONS, TRACE, PUT, dan DELETE idempoten; POST dan PATCH tidak dijamin idempoten (MDN). Ini penting untuk retry: pembayaran yang dikirim dua kali karena timeout tidak boleh menagih dua kali, sehingga biasanya dipakai kunci idempotensi.
- PUT vs PATCH vs POST dan kode status yang tepat (201, 400, 401 vs 403, 404, 409, 429).
- Autentikasi vs otorisasi, serta bagaimana JWT bekerja dan kelemahannya (sulit dicabut sebelum kedaluwarsa).
- Pagination: offset vs cursor, dan mengapa offset melambat pada tabel besar.
- Caching: apa yang kamu cache, kapan cache itu diinvalidasi, dan apa risiko data basi.
- Monolit vs microservices. Jawaban yang matang menyebut biaya operasional microservices, bukan hanya keunggulannya.
Pertanyaan framework dan pengalaman nyata
Jika lowongan menyebut Spring Boot, Laravel, Express, atau Django, bersiaplah menjelaskan fitur utamanya dengan contoh. Satu jebakan yang sering ditanyakan pada Spring: @Transactional bekerja lewat proxy, sehingga pemanggilan metode dalam kelas yang sama (self-invocation) tidak memulai transaksi baru; dan secara default hanya RuntimeException atau Error yang memicu rollback, sedangkan checked exception tidak (dokumentasi Spring Framework). Mampu menjelaskan hal seperti ini menunjukkan kamu pernah debugging di dunia nyata.
Selain itu, siapkan cerita untuk: bug tersulit yang pernah kamu perbaiki, keputusan teknis yang kamu sesali, dan cara kamu me-review kode orang lain. Untuk pertanyaan perkenalan di awal sesi, lihat panduan perkenalan diri.
Cara menjawab saat live coding: berpikir keras
Di sesi live coding, proses dinilai sama pentingnya dengan hasil. Kebiasaan yang membantu:
- Ulangi soal dengan kata-katamu sendiri dan tanyakan batasan (ukuran input, nilai kosong, duplikat).
- Sebutkan solusi paling sederhana dulu, lalu perbaiki. Solusi brute force yang benar lebih baik daripada solusi optimal yang tidak selesai.
- Sebutkan kompleksitas waktu dan memori.
- Uji dengan contoh kecil dan kasus tepi sebelum bilang selesai.
- Kalau buntu, ceritakan apa yang sudah kamu coba. Pewawancara sering memberi petunjuk kalau kamu terlihat berpikir terstruktur.
Persiapan 2 minggu sebelum wawancara
- Hari 1-3: ulangi dasar bahasa utama dan tulis jawaban satu kalimat untuk 20 konsep inti.
- Hari 4-7: SQL, indeks, transaksi; latih query dengan join dan agregasi.
- Hari 8-10: desain API sederhana (misalnya layanan pemendek URL) sambil menjelaskan dengan suara keras.
- Hari 11-14: simulasi wawancara dengan teman atau rekaman suara sendiri, lalu dengarkan ulang.
Jika memakai alat bantu, paket gratis Interview Copilot bisa dipakai untuk latihan: aplikasi desktop ini mendengarkan audio panggilan dan menampilkan saran jawaban, serta bisa memecahkan soal kode dari tangkapan layar (asisten wawancara coding AI). Ada paket gratis tanpa kartu (5 menit pengenalan suara langsung dan 3 solusi dari tangkapan layar).
Aturan: tanyakan dulu apa yang diizinkan
Banyak perusahaan melarang bantuan eksternal selama tes atau wawancara, dan sebagian memantau layar atau perilaku. Jangan berasumsi: sebelum wawancara langsung, tanyakan kepada recruiter apa yang diizinkan, dan ikuti aturan di email undangan. Aplikasi seperti Interview Copilot paling aman dipakai untuk latihan dan untuk sesi yang memang membolehkan catatan atau alat bantu. Soal tampilan saat berbagi layar: di macOS dan Windows jendela aplikasi meminta sistem agar tidak ikut tertangkap, sedangkan di Linux jendelanya terlihat; hasilnya bergantung pada aplikasi berbagi layar, jadi uji dulu dengan berbagi layar pribadi (penjelasan lengkap). Tidak ada jaminan, dan melanggar aturan bisa berujung diskualifikasi.
Sumber
- MDN: Idempotent - definisi dan metode HTTP idempoten
- MDN: Strict equality (===)
- PostgreSQL: Transaction Isolation
- PostgreSQL: Indexes - Introduction
- Oracle: Java SE 21 HashMap
- Spring Framework: Using @Transactional
Diperiksa 13 November 2026. Pertanyaan yang benar-benar muncul di perusahaan tertentu di Indonesia tidak dipublikasikan secara resmi dan tidak dapat saya konfirmasi; daftar di atas adalah topik umum, bukan bocoran.
FAQ
Pertanyaan interview teknikal programmer apa saja yang paling sering ditanya?
Topik yang paling sering: dasar bahasa (misalnya perbedaan == dan ===, HashMap), SQL dan indeks, transaksi, desain REST API, serta live coding. Tidak ada daftar resmi per perusahaan, jadi baca deskripsi lowongan dan siapkan topik yang tertulis di sana.
Bagaimana cara menjawab pertanyaan teknikal dengan baik?
Gunakan tiga langkah: definisi satu kalimat, contoh konkret dari proyekmu, lalu trade-off. Kalau tidak tahu, katakan jujur apa yang kamu ketahui dan bagaimana kamu akan mencari tahu sisanya, daripada menebak.
Apa itu idempotensi dan kenapa sering ditanyakan?
Metode HTTP idempoten jika satu request punya efek yang sama dengan beberapa request identik. PUT dan DELETE idempoten, POST tidak dijamin. Ini penting untuk retry, misalnya agar pembayaran tidak tertagih dua kali.
Apa kelemahan indeks di database?
Indeks mempercepat pencarian, tetapi harus disinkronkan setiap data berubah sehingga menambah beban INSERT, UPDATE, dan DELETE. Dokumentasi PostgreSQL menyarankan menghapus indeks yang jarang dipakai.
Bagaimana kalau lulusan baru belum punya pengalaman kerja?
Pakai proyek kuliah atau proyek pribadi sebagai contoh dan katakan jelas bahwa itu proyek pribadi. Tunjukkan bagaimana kamu men-debug masalah dan apa yang kamu pelajari, bukan hanya hasil akhirnya.
Bolehkah memakai AI saat interview teknikal?
Tergantung aturan perusahaan, dan banyak yang melarangnya selama tes atau wawancara. Tanyakan kepada recruiter sebelum wawancara langsung dan ikuti aturan di email undangan; untuk latihan, alat bantu bebas dipakai.