Pertanyaan Wawancara Microservices

Oleh Aaron Cao · Diperbarui

Pertanyaan Wawancara Microservices
Wawancara microservices menguji batas layanan, pilihan komunikasi, konsistensi data, dan penanganan kegagalan, bukan trivia framework. Anda harus siap memecah monolit, mempertahankan panggilan sinkron dibanding pesan asinkron, menjelaskan cara menjaga data tetap benar di seluruh layanan, dan menelusuri satu permintaan dari awal sampai akhir.

Wawancara microservices menguji batas layanan, pilihan komunikasi, konsistensi data, dan penanganan kegagalan, bukan trivia framework. Anda harus siap memecah monolit, mempertahankan panggilan sinkron dibanding pesan asinkron, menjelaskan cara menjaga data tetap benar di seluruh layanan, dan menelusuri satu permintaan dari awal sampai akhir.

Apa yang sebenarnya diuji wawancara microservices?

Anda sudah membaca nama-nama pola, bisa melafalkan fungsi circuit breaker, tapi tetap tidak tahu apa yang sebenarnya dicari panel. Bagian ini menyebutkan empat area yang dinilai pewawancara, dalam urutan yang biasa mereka gali. Masing-masing adalah pertanyaan penilaian yang menyamar sebagai pertanyaan kosakata.

  • Dekomposisi. Di mana Anda memotong, dan kenapa di situ? Pewawancara ingin batas digambar mengikuti kapabilitas bisnis atau kepemilikan data, bukan mengikuti lapisan teknis.
  • Komunikasi. Permintaan/respons sinkron atau peristiwa asinkron, dan apa yang rusak pada masing-masing. Jawaban yang diinginkan adalah trade-off, bukan preferensi.
  • Data. Satu basis data per layanan berarti tidak ada join lintas layanan dan tidak ada transaksi terdistribusi. Bagaimana Anda tetap menjaga sistem benar?
  • Operasi. Deployment, versioning, tracing, dan apa yang terjadi pukul tiga pagi saat satu layanan lambat, bukan mati total.

Perhatikan bahwa tidak satu pun dari ini soal framework. Kandidat yang menjelaskan alasan memisahkan checkout dari inventory selalu unggul dibanding yang hanya menyebut anotasi.

Pertanyaan dekomposisi dan komunikasi apa yang paling sering muncul?

Berikut pertanyaan yang paling sering membuka babak microservices, beserta apa yang sebenarnya diperiksa pewawancara di baliknya.

  • Bagaimana Anda akan memecah monolit ini menjadi layanan-layanan? Memeriksa apakah Anda memotong mengikuti kapabilitas bisnis dan kepemilikan data, atau mengikuti lapisan controller, service, dan repository. Jawaban kedua menghasilkan monolit terdistribusi.
  • Bagaimana dua layanan saling berkomunikasi? Memeriksa apakah Anda bisa menyebut biaya tiap pilihan: panggilan sinkron memberi model mental sederhana tapi menggandengkan ketersediaan, peristiwa asinkron melepaskan ketersediaan dan memberi konsistensi akhirnya yang harus Anda jelaskan ke pemilik produk.
  • Apa itu monolit terdistribusi dan bagaimana menghindarinya? Memeriksa apakah Anda tahu layanan yang harus dideploy bersamaan sebenarnya bukan layanan terpisah.
  • Seberapa besar seharusnya ukuran satu layanan? Memeriksa apakah Anda menolak menjawab dengan angka. Ukuran mengikuti batas dan tim yang memilikinya.
  • Apakah Anda butuh API gateway, dan apa fungsinya? Memeriksa apakah Anda bisa memisahkan routing, autentikasi, dan rate limiting dari logika bisnis.
  • Bagaimana layanan saling menemukan satu sama lain? Memeriksa pemahaman dasar tentang service discovery dan kenapa host yang di-hardcode gagal di lingkungan yang sudah skala besar.

Ucapkan trade-off-nya keras-keras di setiap jawaban. Panel tidak bisa memberi nilai untuk perbandingan yang hanya Anda pikirkan diam-diam.

Bagaimana menjawab pertanyaan data dan kegagalan?

Di sinilah wawancara dimenangkan atau kalah, karena pertanyaan ini tidak punya jawaban bersih dan kandidat cenderung mengambil jawaban hafalan.

  • Bagaimana Anda menjaga konsistensi data lintas layanan? Sebutkan dulu batasannya: tidak ada transaksi lintas layanan. Lalu jelaskan saga, baik yang dikoreografikan lewat peristiwa atau diorkestrasi oleh koordinator, dan katakan dengan jelas bahwa sistem bersifat eventually consistent serta apa yang dilihat pengguna selama jeda itu.
  • Apa yang terjadi saat layanan hilir lambat? Timeout, retry dengan backoff, dan circuit breaker agar dependensi yang lambat tidak menghabiskan thread pool Anda. Lambat lebih buruk daripada mati, dan mengatakannya menunjukkan pengalaman produksi.
  • Bagaimana membuat retry aman? Idempotency. Kunci idempotency pada jalur penulisan, sehingga pembayaran yang diulang hanya tertagih sekali.
  • Bagaimana menangani kegagalan parsial dalam alur multi-langkah? Tindakan kompensasi, bukan rollback. Jelaskan seperti apa proses refund atau melepaskan reservasi.
  • Bagaimana Anda men-debug permintaan yang menyentuh enam layanan? Distributed tracing dengan correlation ID yang diteruskan di setiap hop, ditambah log terstruktur dan metrik.

Seorang backend engineer yang wawancara untuk peran platform L5 di vendor cloud publik mendapat pertanyaan saga dan menjawabnya sekali jalan, dengan kosakata pola, tanpa menyebut apa yang akan dilihat pelanggan. Pertanyaan lanjutannya, apa yang ditampilkan halaman pesanan selama jendela inkonsisten itu, adalah pertanyaan yang sebenarnya menentukan babak ini. Siapkan jawaban keduanya, bukan hanya yang pertama.

Lebih banyak bank pertanyaan berdasarkan peran dan topik terkumpul di pertanyaan wawancara berdasarkan peran.

Bagaimana melatih ini dengan bersuara keras?

Membaca daftar ini menghasilkan rasa kenal, dan rasa kenal itu hilang begitu orang asing menanyakan pertanyaannya lalu menunggu. Jarak antara mengetahui sebuah pola dan menjelaskannya di bawah tekanan ringan adalah keseluruhan kesulitan babak system design, dan itu hanya tertutup lewat berbicara.

Pilih satu alur yang Anda kuasai, misalnya penempatan pesanan atau pendaftaran, lalu narasikan seluruh dekomposisinya dengan bersuara: batasnya, pilihan komunikasinya, cerita konsistensinya, cerita kegagalannya. Lakukan sampai Anda berhenti mengulang kalimat dari awal. Anda bisa menjalankan prompt ini melawan pewawancara AI yang mengajukan pertanyaan lanjutan dan membiarkan Anda menjawab dengan suara dalam mode wawancara simulasi, yang lebih mendekati kondisi nyata dibanding membaca ulang catatan.

Aaron Cao, pendiri SubcueAI, membangun mode latihan ini di sekitar jarak itu, bukan di sekitar penyampaian konten. Daftar pertanyaan tersedia bebas di mana-mana; yang tidak dimiliki kandidat adalah pengulangan mengucapkan jawaban sementara orang lain menunggu. Selama wawancara sungguhan, aplikasi desktop dan Side Panel ekstensi browser bisa menampilkan prompt terstruktur saat pewawancara berbicara, meski penjelasan yang sudah dilatih selalu mengalahkan penjelasan yang baru pertama kali Anda baca. Apa yang dilakukan dan tidak dilakukan asisten ini dijelaskan di ikhtisar produk.

FAQ

Berapa banyak pertanyaan microservices yang harus saya siapkan?

Mendalami satu alur lebih baik daripada menghafal tiga puluh pertanyaan. Jika Anda bisa mendekomposisi satu sistem, mempertahankan pilihan komunikasi, menjelaskan model konsistensi, dan menjelaskan apa yang rusak saat kegagalan parsial, Anda bisa menjawab sebagian besar variasi yang ditanyakan panel.

Apakah saya perlu menguasai Kubernetes untuk wawancara microservices?

Untuk sebagian besar peran backend, Anda perlu menjelaskan apa yang harus disediakan deployment dan scaling, bukan mengoperasikan cluster. Peran platform dan SRE berbeda, dan memang lebih dalam membahas orkestrasi, service mesh, dan strategi rollout.

Apa kesalahan paling umum dalam wawancara ini?

Memotong mengikuti lapisan teknis alih-alih kapabilitas bisnis, yang menghasilkan layanan yang harus dideploy bersamaan. Kesalahan kedua yang paling umum adalah menjelaskan saga tanpa pernah mengatakan bahwa sistem menjadi eventually consistent.

Apakah pertanyaan microservices ditanyakan di babak coding atau babak desain?

Kebanyakan di babak desain dan babak perilaku level senior, tempat pewawancara bertanya tentang sistem yang pernah Anda pegang. Babak coding tetap fokus pada algoritma dan kefasihan bahasa, meski take-home bisa meminta Anda menambah satu layanan ke set yang sudah ada.

Bisakah asisten AI menjawab pertanyaan ini untuk saya secara langsung?

Ia bisa menampilkan struktur saat pewawancara berbicara, dan itu paling membantu ketika Anda sudah menguasai materinya. Ia tidak menggantikan latihan, dan berbagi layar, sesi terekam, tes berproktor, serta laptop yang dikelola perusahaan semuanya tetap di luar cakupan.

Pertanyaan terkait

← Selengkapnya tentang Pertanyaan Wawancara Berdasarkan Peran & Topik