Pertanyaan wawancara Kafka apa yang perlu saya antisipasi?

Oleh Aaron Cao · Diperbarui

Pertanyaan wawancara Kafka apa yang perlu saya antisipasi?
Antisipasi empat lapisan: konsep inti (topik, partisi, offset, grup konsumen), jaminan pengiriman (setidaknya sekali, tepat sekali, produsen idempoten), operasi (replikasi, replika tersinkron, retensi, penyeimbangan ulang), dan skenario desain yang meminta Anda menentukan jumlah partisi, memilih kunci, serta menangani kegagalan. Pewawancara menguji alasan di balik setiap jawaban.

Antisipasi empat lapisan: konsep inti (topik, partisi, offset, grup konsumen), jaminan pengiriman (setidaknya sekali, tepat sekali, produsen idempoten), operasi (replikasi, replika tersinkron, retensi, penyeimbangan ulang), dan skenario desain yang meminta Anda menentukan jumlah partisi, memilih kunci, serta menangani kegagalan. Pewawancara menguji alasan di balik setiap jawaban.

Apa saja konsep inti Kafka yang pertama diperiksa pewawancara?

Anda sudah tahu bahwa Kafka adalah log terdistribusi dan khawatir pewawancara akan menggali satu tingkat lebih dalam daripada penggunaan sehari-hari Anda. Pertanyaan ini memang mengarah ke sana, jadi bagian ini membahas kosakata menurut urutan yang biasanya digunakan pewawancara serta menandai pertanyaan lanjutan di balik setiap istilah.

  • Topik dan partisi. Sebuah topik dibagi menjadi beberapa partisi, masing-masing berupa log terurut yang hanya dapat ditambahi. Pertanyaan lanjutan: mengapa Kafka meningkatkan skala penulisan dengan menambah partisi alih-alih mempercepat satu log?
  • Offset. Posisi konsumen dalam sebuah partisi. Pertanyaan lanjutan: siapa yang menyimpan offset yang telah dikomit, dan apa yang terjadi jika konsumen mengalami crash sebelum melakukan komit?
  • Grup konsumen. Konsumen dalam sebuah grup berbagi partisi suatu topik, dengan satu partisi diberikan kepada paling banyak satu konsumen dalam grup pada satu waktu. Pertanyaan lanjutan: apa yang terjadi pada throughput jika grup memiliki lebih banyak konsumen daripada partisi?
  • Broker dan pengontrol. Broker menyimpan partisi; pengontrol menangani pemilihan pemimpin dan metadata. Pertanyaan lanjutan: apa yang berubah ketika Kafka memindahkan metadata dari ZooKeeper ke KRaft?
  • Produsen dan kunci. Pesan dengan kunci ditempatkan pada partisi yang dipilih melalui hashing kunci; pesan tanpa kunci disebarkan ke berbagai partisi. Pertanyaan lanjutan: manakah dari keduanya yang mempertahankan urutan peristiwa untuk satu pelanggan?

Jawablah dengan mekanismenya, bukan slogannya. Mengatakan bahwa partisi menyediakan paralelisme hanyalah syarat dasar; menjelaskan bahwa urutan hanya ada di dalam satu partisi, sehingga kunci menentukan cakupan pengurutan, adalah jawaban yang membawa Anda ke ronde berikutnya.

Bagaimana pertanyaan tentang jaminan pengiriman dan replikasi diajukan?

Di lapisan inilah sebagian besar kandidat kehilangan poin, karena istilahnya mudah tetapi konsekuensinya tidak. Bersiaplah ketika pewawancara menyebutkan sebuah jaminan dan meminta Anda mewujudkannya melalui pengaturan.

  • Paling banyak sekali versus setidaknya sekali. Komit offset sebelum pemrosesan dan Anda bisa kehilangan pesan; proses lebih dahulu lalu komit sesudahnya dan Anda bisa memproses pesan itu dua kali. Jelaskan kegagalan apa yang dapat ditoleransi oleh setiap urutan dan mana yang dipilih sistem Anda.
  • Produsen idempoten dan tepat sekali. Produsen idempoten menghapus duplikasi percobaan ulang di dalam sebuah partisi; transaksi memperluasnya ke beberapa partisi dan ke offset konsumen dalam alur konsumsi-transformasi-produksi. Bersiaplah menjelaskan apa yang tidak dicakup tepat sekali: penulisan ke basis data hilir di luar transaksi tetap menjadi masalah Anda.
  • acks, faktor replikasi, dan replika tersinkron. acks=all menunggu kumpulan replika tersinkron; min.insync.replicas menentukan batas minimum penyusutan kumpulan itu sebelum penulisan ditolak. Pewawancara sering menanyakan hal yang Anda korbankan demi durabilitas di sini: latensi dan ketersediaan ketika broker gagal.
  • Retensi dan kompaksi. Retensi berbasis waktu atau ukuran menghapus segmen lama; kompaksi log mempertahankan catatan terbaru per kunci. Pertanyaan lanjutan: mana yang mendukung changelog untuk penyimpanan nilai-kunci, dan mengapa?
  • Penyeimbangan ulang. Ketika konsumen bergabung atau keluar, partisi ditetapkan ulang. Pertanyaan lanjutan: apa dampak penyeimbangan ulang yang lama terhadap layanan yang sensitif terhadap latensi, dan bagaimana penyeimbangan ulang kooperatif serta keanggotaan statis mengurangi masalah tersebut?

Kebiasaan yang berguna: untuk setiap pengaturan yang Anda sebutkan, jelaskan kegagalan yang dicegah dan biaya yang ditimbulkannya. Struktur tersebut menjawab pertanyaan utama sekaligus pertanyaan lanjutannya dalam satu tarikan napas.

Seperti apa pertanyaan desain dan skenarionya?

Rangkaian wawancara tingkat senior mengganti definisi dengan sebuah skenario dan mengamati cara Anda bernalar. Contoh pertanyaan umum: seorang engineer backend yang diwawancarai untuk peran platform di perusahaan pembayaran diminta merancang pipeline peristiwa yang harus memproses setiap transaksi untuk satu akun secara berurutan, meningkatkan throughput seiring pertumbuhan lalu lintas, dan tidak kehilangan data ketika broker mengalami gangguan. Jawaban yang kuat menetapkan kunci pesan berdasarkan id akun agar peristiwa satu akun berada di partisi yang sama, menentukan jumlah partisi untuk perkiraan beban puncak dengan kapasitas ekstra bagi pertumbuhan, mengatur replikasi dan acks=all demi durabilitas, serta menjelaskan cara konsumen mengomit offset agar crash memutar ulang pesan alih-alih melewatinya.

Skenario lain yang sering muncul: konsumen yang tertinggal serta cara mendeteksi lag dan mengejarnya; topik dengan jumlah partisi yang belakangan Anda sesali dan alasan pemartisian ulang merusak urutan berdasarkan kunci; pesan bermasalah yang membuat konsumen crash dan pola dead-letter yang mengisolasinya; perubahan skema di antara produsen dan konsumen serta manfaat registri skema. Pewawancara tidak mencari satu arsitektur yang benar. Mereka ingin Anda menyebutkan batasannya, memilih mekanisme, dan menyatakan konsekuensinya secara terbuka.

Latih skenario ini dengan mengucapkannya sebelum wawancara, bukan sekadar membacanya. Berlatih pertanyaan skenario bersama pewawancara AI yang terus menggali dengan pertanyaan lanjutan adalah tujuan mode latihan di halaman wawancara simulasi, sedangkan kumpulan pertanyaan yang lebih luas berdasarkan peran dan topik tersedia di pertanyaan wawancara berdasarkan peran dan topik.

Dapatkah asisten wawancara AI membantu menjawab pertanyaan Kafka?

Dalam ronde percakapan, ya, dengan batasan yang jujur. Aplikasi desktop native SubcueAI untuk macOS dan Windows menangkap audio pewawancara serta mikrofon Anda, lalu menampilkan saran jawaban singkat dalam overlay lokal. Jadi, ketika pewawancara menanyakan apa yang dilindungi oleh min.insync.replicas, mekanismenya tampil di layar saat Anda menjelaskannya dengan kata-kata sendiri. Ekstensi browser melakukan hal yang sama untuk panggilan dalam tab browser dan hanya menangkap audio dari tab rapat. Keduanya tidak menambahkan bot ke panggilan dan tidak menyisipkan apa pun ke halaman rapat; panduan penyiapannya tersedia di halaman tutorial.

Batasannya lebih penting daripada promosi. Tes coding yang diawasi, layar yang direkam, atau laptop yang dikelola perusahaan berada di luar cakupan, dan latihan coding langsung yang mengharuskan Anda mengimplementasikan konsumen di bawah pengawasan adalah pekerjaan Anda sendiri. Asisten ini paling efektif untuk pertanyaan istilah dan konsekuensi di atas, serta paling lemah untuk hal yang diketik ke dalam platform penilaian. Sebelum mengandalkannya, masukkan resume Anda agar sarannya mencerminkan pekerjaan Kafka yang benar-benar Anda lakukan; profil tersebut tersedia di pembuat resume.

FAQ

Mengapa Kafka hanya dapat menjamin urutan dalam satu partisi?

Setiap partisi adalah satu log terurut yang ditulis oleh satu pemimpin, sedangkan partisi yang berbeda berada di broker yang berbeda dan dikonsumsi secara independen. Pengurutan lintas partisi memerlukan koordinasi yang akan menghilangkan paralelisme yang menjadi tujuan keberadaan partisi.

Apa perbedaan antara setidaknya sekali dan tepat sekali di Kafka?

Setidaknya sekali berarti pesan dapat dikirim lagi setelah kegagalan, sehingga konsumen harus mampu menangani duplikasi. Tepat sekali menggabungkan produsen idempoten dengan transaksi agar percobaan ulang dan komit offset bersifat atomik di dalam Kafka; dampak di luar Kafka tetap memerlukan idempotensinya sendiri.

Berapa banyak konsumen yang sebaiknya dimiliki grup konsumen?

Paling banyak satu konsumen aktif per partisi yang berguna; konsumen tambahan akan menganggur. Jumlah konsumen yang lebih sedikit daripada partisi tidak menjadi masalah karena masing-masing cukup membaca beberapa partisi. Karena itu, pemilihan jumlah partisi menentukan batas atas paralelisme konsumen.

Apa yang terjadi ketika broker Kafka gagal?

Partisi yang dipimpinnya beralih ke replika tersinkron di broker lain yang dipilih oleh pengontrol. Dengan replikasi yang dikonfigurasi dan acks=all, penulisan yang telah diakui akan bertahan; penulisan yang belum diakui akan dicoba ulang oleh produsen.

Dapatkah SubcueAI membantu selama penilaian coding Kafka?

Tidak. Penilaian yang diawasi atau direkam berada di luar cakupannya, dan penggunaan yang jujur adalah dalam wawancara percakapan ketika Anda menjelaskan konsep dan konsekuensinya. Mode wawancara simulasi adalah tempat untuk melatih keduanya sebelum panggilan yang sebenarnya.

Pertanyaan terkait

← Selengkapnya tentang Pertanyaan Wawancara Berdasarkan Peran & Topik