Hangi Kafka mülakat sorularını beklemeliyim?

Yazan: Aaron Cao · Güncellendi

Hangi Kafka mülakat sorularını beklemeliyim?
Dört katman bekleyin: temel kavramlar (konular, bölümler, ofsetler, tüketici grupları), teslim garantileri (en az bir kez, tam olarak bir kez, idempotent üreticiler), operasyonlar (çoğaltma, senkronize replikalar, saklama, yeniden dengeleme) ve bölümleri boyutlandırdığınız, anahtarları seçtiğiniz ve arızaları yönettiğiniz tasarım senaryoları. Mülakatçılar her yanıtın ardındaki nedeni sorgular.

Dört katman bekleyin: temel kavramlar (konular, bölümler, ofsetler, tüketici grupları), teslim garantileri (en az bir kez, tam olarak bir kez, idempotent üreticiler), operasyonlar (çoğaltma, senkronize replikalar, saklama, yeniden dengeleme) ve bölümleri boyutlandırdığınız, anahtarları seçtiğiniz ve arızaları yönettiğiniz tasarım senaryoları. Mülakatçılar her yanıtın ardındaki nedeni sorgular.

Her mülakatçının önce kontrol ettiği temel Kafka kavramları nelerdir?

Kafka'nın dağıtılmış bir günlük olduğunu zaten biliyor ve mülakatçının günlük kullanımınızdan bir seviye daha derine ineceğinden endişeleniyorsunuz. Bu sorular tam olarak o noktaya gider; bu bölüm de terimleri mülakatçıların genellikle izlediği sırayla ele alır ve her terimin arkasından gelebilecek soruyu belirtir.

  • Konular ve bölümler. Bir konu, her biri yalnızca sonuna ekleme yapılan sıralı bir günlük olan bölümlere ayrılır. Takip sorusu: Kafka, tek bir günlüğü hızlandırmak yerine bölümler ekleyerek yazma kapasitesini neden ölçeklendirir?
  • Ofsetler. Bir tüketicinin bölüm içindeki konumudur. Takip sorusu: kaydedilmiş ofsetleri kim saklar ve bir tüketici ofseti kaydetmeden önce çökerse ne olur?
  • Tüketici grupları. Bir gruptaki tüketiciler, bir konunun bölümlerini paylaşır; herhangi bir anda her bölüm gruptaki en fazla bir tüketiciye atanır. Takip sorusu: grupta bölüm sayısından fazla tüketici varsa veri işleme hızı ne olur?
  • Broker'lar ve denetleyici. Broker'lar bölümleri saklar; denetleyici lider seçimini ve meta verileri yönetir. Takip sorusu: Kafka meta verileri ZooKeeper'dan KRaft'a taşıdığında ne değişti?
  • Üreticiler ve anahtarlar. Anahtarlı bir mesaj, anahtarın hash değeriyle seçilen bir bölüme gider; anahtarsız mesaj ise bölümlere dağıtılır. Takip sorusu: bu ikisinden hangisi tek bir müşterinin olaylarında sıralamayı korur?

Bunları sloganla değil, mekanizmayla yanıtlayın. Bölümlerin paralellik sağladığını söylemek temel beklentidir; sıralamanın yalnızca bir bölüm içinde bulunduğunu ve dolayısıyla sıralama alanını anahtarın belirlediğini açıklamak ise sizi sonraki tura taşıyan yanıttır.

Teslim garantileri ve çoğaltma soruları nasıl ilerler?

Çoğu aday bu katmanda puan kaybeder; çünkü terimler kolay, ödünleşimler ise zordur. Mülakatçının bir garanti belirtip bunu ayarlardan oluşturmanızı istemesini bekleyin.

  • En fazla bir kez ve en az bir kez. Ofseti işlemeden önce kaydederseniz bir mesajı kaybedebilirsiniz; önce işleyip sonra kaydederseniz mesajı iki kez işleyebilirsiniz. Her sıralamanın hangi arızayı tolere ettiğini ve sisteminizin hangisini tercih ettiğini söyleyin.
  • İdempotent üreticiler ve tam olarak bir kez. İdempotent bir üretici, bölüm içindeki yeniden denemelerin kopyalarını eler; işlemler bunu bölümler arasında ve tüket-dönüştür-üret döngüsündeki tüketici ofsetlerinde de sağlar. Tam olarak bir kez garantisinin neyi kapsamadığını söylemeye hazır olun: işlemin dışındaki bir alt sistem veri tabanına yazma işlemi hâlâ sizin sorununuzdur.
  • acks, çoğaltma faktörü ve senkronize replikalar. acks=all senkronize replika kümesini bekler; min.insync.replicas yazmalar reddedilmeden önce bu kümenin ne kadar küçülebileceğini belirler. Mülakatçılar burada dayanıklılık uğruna neden ödün verdiğinizi sıkça sorar: broker kaybı sırasında gecikme ve kullanılabilirlik.
  • Saklama ve sıkıştırma. Zamana veya boyuta dayalı saklama eski segmentleri siler; günlük sıkıştırma ise her anahtarın en son kaydını tutar. Takip sorusu: anahtar-değer deposunun değişiklik günlüğünü hangisi destekler ve neden?
  • Yeniden dengeleme. Bir tüketici katıldığında veya ayrıldığında bölümler yeniden atanır. Takip sorusu: uzun bir yeniden dengeleme, gecikmeye duyarlı bir hizmeti nasıl etkiler ve iş birliğine dayalı yeniden dengeleme ile statik üyelik bu sıkıntıyı nasıl azaltır?

Yararlı bir alışkanlık: adını verdiğiniz her ayar için önlediği arızayı ve eklediği maliyeti söyleyin. Bu yapı, soruyu ve takip sorusunu tek solukta yanıtlar.

Tasarım ve senaryo soruları nasıl görünür?

Kıdemli pozisyonların mülakat süreçlerinde tanımların yerini bir senaryo alır ve nasıl akıl yürüttüğünüz izlenir. Tipik bir soru: bir ödeme şirketinde platform rolü için mülakata giren backend mühendisinden, bir hesaba ait her işlemin sırayla işlenmesi, veri işleme kapasitesinin trafikle birlikte artması ve broker kesintisinde veri kaybedilmemesi gereken bir olay işlem hattı tasarlaması istenir. Güçlü bir yanıt, aynı hesaba ait olayların bir bölümü paylaşması için mesajları hesap kimliğine göre anahtarlar, bölümleri büyüme payı bırakarak beklenen zirveye göre boyutlandırır, dayanıklılık için çoğaltmayı ve acks=all ayarını yapılandırır ve tüketicilerin ofsetleri nasıl kaydettiğini açıklayarak bir çöküşün atlamaya değil yeniden oynatmaya yol açtığını gösterir.

Tekrarlanan diğer senaryolar şunlardır: geride kalan bir tüketici, gecikmesini nasıl tespit ettiğiniz ve arayı nasıl kapattığınız; bölüm sayısından pişman olduğunuz bir konu ve yeniden bölümlemenin anahtar sıralamasını neden bozduğu; tüketiciyi çökerten zehirli bir mesaj ve onu yalıtan ölü mektup düzeni; üreticiler ile tüketiciler arasındaki şema değişiklikleri ve bir şema kayıt sisteminin size ne kazandırdığı. Mülakatçı tek bir doğru mimari aramaz. Kısıtı belirtmenizi, bir mekanizma seçmenizi ve ödünleşimi açıkça ifade etmenizi ister.

Mülakattan önce bunları yalnızca okumak yerine sesli olarak çalışın. Takip sorularıyla sizi zorlayan bir AI mülakatçıyla senaryo sorularını prova etmek için deneme mülakatı sayfasındaki alıştırma modu bulunur; rol ve konu bankalarının daha kapsamlı koleksiyonuysa role ve konuya göre mülakat soruları altında yer alır.

Bir AI mülakat asistanı Kafka sorularında yardımcı olabilir mi?

Sohbet biçimindeki bir turda, dürüst sınırlar içinde evet. SubcueAI'ın yerel macOS ve Windows masaüstü uygulaması, mülakatçının sesini ve mikrofonunuzu yakalayıp yerel bir katmanda kısa yanıt önerileri gösterir; böylece mülakatçı min.insync.replicas ayarının neye karşı koruma sağladığını sorduğunda, siz kendi sözlerinizle açıklarken mekanizma ekranınızda görünür. Tarayıcı uzantısı, yalnızca toplantı sekmesinin sesini yakalayarak tarayıcı sekmesindeki görüşmeler için aynısını yapar. Hiçbiri görüşmeye bot eklemez veya toplantı sayfasına herhangi bir şey yerleştirmez; kurulum rehberi eğitim sayfasındadır.

Sınırlar tanıtımdan daha önemlidir. Gözetimli kodlama testi, kaydedilen bir ekran veya şirket tarafından yönetilen bir dizüstü bilgisayar kapsam dışındadır; gözetim altında bir tüketici uygulamanız gereken canlı kodlama çalışması da kendi işinizdir. Asistan yukarıdaki terminoloji ve ödünleşim sorularında en güçlü, değerlendirme platformuna yazılan her şeydeyse en zayıftır. Ona güvenmeden önce özgeçmişinizi yükleyin ki öneriler gerçekten yaptığınız Kafka çalışmalarını yansıtsın; bu profil özgeçmiş oluşturucuda bulunur.

SSS

Kafka neden sıralamayı yalnızca bir bölüm içinde garanti edebilir?

Her bölüm, tek bir lider tarafından yazılan sıralı bir günlüktür; farklı bölümler ise farklı broker'larda bulunur ve bağımsız olarak tüketilir. Bölümler arasında sıralama, bölümlerin sağlamak için var olduğu paralelliği ortadan kaldıracak bir koordinasyon gerektirirdi.

Kafka'da en az bir kez ile tam olarak bir kez arasındaki fark nedir?

En az bir kez, arızadan sonra bir mesajın yeniden teslim edilebileceği anlamına gelir; dolayısıyla tüketiciler kopyaları tolere etmelidir. Tam olarak bir kez, yeniden denemelerin ve ofset kayıtlarının Kafka içinde atomik olması için idempotent üreticileri işlemlerle birleştirir; Kafka dışındaki etkiler yine kendi idempotentlik mekanizmalarına ihtiyaç duyar.

Bir tüketici grubunda kaç tüketici olmalıdır?

Bölüm başına en fazla bir etkin tüketici faydalıdır; fazladan tüketiciler boşta kalır. Bölüm sayısından daha az tüketici olması sorun değildir; her biri birkaç bölümü okur. Dolayısıyla bölüm sayısını seçmek, tüketici paralelliğinin üst sınırını belirler.

Bir Kafka broker'ı arızalandığında ne olur?

Liderlik ettiği bölümler, denetleyicinin seçtiği başka bir broker üzerindeki senkronize replikaya devredilir. Çoğaltma yapılandırılmış ve acks=all ayarlanmışsa onaylanan yazmalar korunur; onaylanmayan yazmalar üretici tarafından yeniden denenir.

SubcueAI bir Kafka kodlama değerlendirmesi sırasında yardımcı olabilir mi?

Hayır. Gözetimli veya kayıtlı değerlendirmeler kapsam dışındadır; dürüst kullanım, kavramları ve ödünleşimleri açıkladığınız sohbet biçimindeki bir mülakattır. Gerçek görüşmeden önce her ikisini de çalışabileceğiniz yer deneme mülakatı modudur.

İlgili sorular

← Daha fazlası: Rol ve konuya göre mülakat soruları