yoklateknik mülakat

Data Engineer St Kafka Broker Storage Replication Mülakat Soruları

75 doğrulanmış Data Engineer St Kafka Broker Storage Replication mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

St Kafka Broker Storage ReplicationZorluk 1
Bir Kafka broker'ının diskinde tek bir partition fiziksel olarak nasıl saklanır?
  • aVeri hacminden bağımsız, sürekli büyüyen tek bir dosya olarak
  • bBroker'ın yönettiği ilişkisel bir veritabanı tablosundaki satırlar olarak
  • cBir tanesi aktif olan bir log segment dosyaları dizisi olarak
  • dTamamen bellekte; diske yalnızca broker kapanışında yazılarak
Açıklama:Bir partition'ın log'u diskte segment dosyalarına bölünür. Aynı anda yalnızca bir segment (aktif segment) yeni append kabul eder; eski segment'ler kapatılır (roll edilir) ve silinene ya da compact edilene kadar salt-okunur kalır.
St Kafka Broker Storage ReplicationZorluk 1
Kafka'yı bir partition'ın aktif log segment'ini roll etmeye (kapatıp yenisini başlatmaya) ne tetikler?
  • asegment.bytes boyutuna ulaşmak ya da segment.ms yaşına gelmek, hangisi önce olursa
  • bBir consumer group'un aktif segment'teki tüm okumaları bitirmesi
  • cBroker'ın JVM'inin bir garbage collection döngüsü çalıştırması
  • dPartition lider'inin başka bir broker'a taşınması
Açıklama:Segment roll etme yalnızca aktif segment'in boyutu (segment.bytes) ve yaşı (segment.ms) tarafından tetiklenir; hangi eşik önce dolarsa roll o an gerçekleşir. Consumer ilerlemesi ya da lider değişimi segment roll'unu tetiklemez.
St Kafka Broker Storage ReplicationZorluk 3
Bir topic-partition'da segment.bytes=1073741824 (1 GiB) ve segment.ms=604800000 (7 gün) ayarlı. Partition günde yaklaşık 50 MB veri alıyor. 20 günlük kesintisiz üretimden sonra aktif segment kabaca kaç kez roll edilmiştir ve her roll'u hangi eşik tetiklemiştir?
  • aYaklaşık 20 roll, hepsini günlük dolan segment.bytes tetikler
  • b2 roll; ikisini de segment.ms tetikler, boyut değil
  • cTam 1 roll, 20. günde segment.bytes tarafından tetiklenir
  • dSıfır roll, çünkü segment'ler yalnızca broker restart'ında roll olur
Açıklama:Günde 50 MB ile 7 günlük yazım yalnızca ~350 MB birikir, bu da 1 GiB'lık segment.bytes sınırının çok altındadır; bu yüzden önce segment.ms dolar. Roll'lar 7. ve 14. günlerde gerçekleşir; üçüncüsü 21. günde olur. Dolayısıyla 20 günde zaman eşiğinin tetiklediği 2 roll vardır.
St Kafka Broker Storage ReplicationZorluk 1
Her Kafka log segment'i (.log dosyası) bir .index ve bir .timeindex dosyasıyla eşleştirilir. Bunlar ne için kullanılır?
  • aPartition'ın replika atamasını saklamak için
  • bConsumer group'un commit edilmiş offset'lerini saklamak için
  • cSegment'in sıkıştırılmış bir yedek kopyasını tutmak için
  • dOffset/zaman damgalarını yaklaşık byte konumlarına eşlemek için
Açıklama:.index dosyası offset'leri byte konumlarına, .timeindex ise zaman damgalarını offset'lere seyrek (sparse) şekilde eşler. Kafka bunları hedef konuma yakın bir yere atlayıp ardından küçük bir aralığı taramak için kullanır; segment'i baştan okumaz.
St Kafka Broker Storage ReplicationZorluk 2
Bir topic'te cleanup.policy=delete ve retention.ms=604800000 (7 gün) ayarlı. Bir log segment'i 8 gün önce kapatıldı (roll edildi) ve içindeki en yeni mesaj 7.5 gün yaşında. Daha yeni, hâlâ aktif olan bir segment ise yalnızca son birkaç saati tutuyor. Kapalı segment'e ne olur?
  • aKapalı segment'in tamamı segment-bazlı silme için uygun hale gelir
  • bYalnızca 7 günden eski bireysel mesajlar kaldırılır
  • cAktif segment de eskiyene kadar hiçbir şey silinmez
  • dSegment, her key için son değeri tutacak şekilde compact edilir
Açıklama:cleanup.policy=delete altında silme mesaj bazında değil, segment bazında çalışır. Kapalı bir segment'teki bütün mesajlar retention eşiğinden eski hale geldiğinde segment uygun olur ve sonraki bir retention kontrolünde seçilir; fiziksel dosya silme ayrıca gecikebilir. Aktif segment yazım kabul ederken uygun değildir.
St Kafka Broker Storage ReplicationZorluk 2
Bir topic cleanup.policy=compact ile yapılandırılmış. Log compaction temelde ne yapar?
  • aDelete gibi, belirli bir yaşın üzerindeki her mesajı kaldırır
  • bHer farklı mesaj key'i için en azından son değeri korur
  • cHiçbir kaydı silmeden payload'ları gzip/zstd ile sıkıştırır
  • dTopic'in tüm partition'larını tek bir partition'da birleştirir
Açıklama:Compaction, zaman bazlı silme ya da payload sıkıştırma değil, key bazlı bir saklama biçimidir: log cleaner segment'leri yeniden yazarak her key için yalnızca en son kaydın (artı henüz temizlenmemiş yakın kayıtların) hayatta kalmasını sağlar; bu da topic'in güncel durumun bir changelog'u gibi davranmasına izin verir.

1950 soruluk Data Engineer bankasında kendini sına.

Mülakata başla