Mit welchen Kafka-Interviewfragen sollte ich rechnen?

Von Aaron Cao · Aktualisiert am

Mit welchen Kafka-Interviewfragen sollte ich rechnen?
Rechnen Sie mit vier Ebenen: Grundkonzepte (Topics, Partitionen, Offsets, Consumer-Gruppen), Zustellgarantien (At-least-once, Exactly-once, idempotente Producer), Betrieb (Replikation, In-Sync-Replikate, Aufbewahrung, Rebalancing) und Designszenarien, in denen Sie Partitionen dimensionieren, Schlüssel wählen und Ausfälle bewältigen. Interviewer hinterfragen das Warum hinter jeder Antwort.

Rechnen Sie mit vier Ebenen: Grundkonzepte (Topics, Partitionen, Offsets, Consumer-Gruppen), Zustellgarantien (At-least-once, Exactly-once, idempotente Producer), Betrieb (Replikation, In-Sync-Replikate, Aufbewahrung, Rebalancing) und Designszenarien, in denen Sie Partitionen dimensionieren, Schlüssel wählen und Ausfälle bewältigen. Interviewer hinterfragen das Warum hinter jeder Antwort.

Welche Kafka-Grundkonzepte prüft jeder Interviewer zuerst?

Sie wissen bereits, dass Kafka ein verteiltes Log ist, und fürchten, dass der Interviewer eine Ebene tiefer als Ihre tägliche Nutzung gehen wird. Genau dorthin führen diese Fragen. Daher behandelt dieser Abschnitt die Begriffe in der Reihenfolge, in der Interviewer sie üblicherweise ansprechen, und weist auf die Anschlussfrage hinter jedem Begriff hin.

  • Topics und Partitionen. Ein Topic wird in Partitionen aufgeteilt, die jeweils ein nur erweiterbares, geordnetes Log darstellen. Anschlussfrage: Warum skaliert Kafka Schreibvorgänge durch zusätzliche Partitionen, statt ein einzelnes Log schneller zu machen?
  • Offsets. Die Position eines Consumers in einer Partition. Anschlussfrage: Wer speichert bestätigte Offsets, und was geschieht, wenn ein Consumer vor der Bestätigung abstürzt?
  • Consumer-Gruppen. Consumer einer Gruppe teilen sich die Partitionen eines Topics, wobei eine Partition zu einem Zeitpunkt höchstens einem Consumer der Gruppe zugewiesen ist. Anschlussfrage: Was geschieht mit dem Durchsatz, wenn die Gruppe mehr Consumer als Partitionen hat?
  • Broker und Controller. Broker speichern Partitionen; der Controller übernimmt Leader-Wahl und Metadatenverwaltung. Anschlussfrage: Was änderte sich, als Kafka seine Metadaten von ZooKeeper zu KRaft verlagerte?
  • Producer und Schlüssel. Eine Nachricht mit Schlüssel landet auf einer Partition, die durch Hashing des Schlüssels ausgewählt wird; eine Nachricht ohne Schlüssel wird über Partitionen verteilt. Anschlussfrage: Welche dieser beiden Varianten bewahrt die Reihenfolge der Ereignisse eines Kunden?

Beantworten Sie diese Fragen mit dem Mechanismus, nicht mit einem Schlagwort. Zu sagen, dass Partitionen Parallelität ermöglichen, ist nur die Grundvoraussetzung; wenn Sie erklären, dass eine Reihenfolge nur innerhalb einer Partition besteht und der Schlüssel daher den Ordnungsbereich bestimmt, kommen Sie in die nächste Runde.

Wie laufen Fragen zu Zustellgarantien und Replikation ab?

Auf dieser Ebene verlieren die meisten Bewerber Punkte, denn die Begriffe sind einfach, die Abwägungen jedoch nicht. Rechnen Sie damit, dass der Interviewer eine Garantie nennt und Sie auffordert, sie anhand von Einstellungen umzusetzen.

  • At-most-once gegenüber At-least-once. Bestätigen Sie den Offset vor der Verarbeitung, können Sie eine Nachricht verlieren; verarbeiten Sie sie zuerst und bestätigen danach, können Sie sie zweimal verarbeiten. Erläutern Sie, welchen Ausfall die jeweilige Reihenfolge toleriert und welche Ihr System bevorzugt.
  • Idempotente Producer und Exactly-once. Ein idempotenter Producer dedupliziert Wiederholungsversuche innerhalb einer Partition; Transaktionen erweitern dies über Partitionen hinweg und auf Consumer-Offsets in einer Consume-Transform-Produce-Schleife. Erklären Sie auch, was Exactly-once nicht abdeckt: Ein Schreibvorgang in eine nachgelagerte Datenbank außerhalb der Transaktion bleibt weiterhin Ihr Problem.
  • acks, Replikationsfaktor und In-Sync-Replikate. acks=all wartet auf die Gruppe der In-Sync-Replikate; min.insync.replicas legt fest, wie klein diese Gruppe werden darf, bevor Schreibvorgänge abgelehnt werden. Interviewer fragen häufig, was Sie hier für Haltbarkeit opfern: Latenz und Verfügbarkeit beim Ausfall eines Brokers.
  • Aufbewahrung und Komprimierung. Zeit- oder größenbasierte Aufbewahrung löscht alte Segmente; Log-Komprimierung behält den neuesten Datensatz pro Schlüssel. Anschlussfrage: Welche Variante unterstützt das Änderungsprotokoll eines Schlüssel-Wert-Speichers und warum?
  • Rebalancing. Wenn ein Consumer beitritt oder die Gruppe verlässt, werden Partitionen neu zugewiesen. Anschlussfrage: Was bewirkt ein langes Rebalancing bei einem latenzempfindlichen Dienst, und wie lindern kooperatives Rebalancing und statische Mitgliedschaft das Problem?

Eine hilfreiche Gewohnheit: Nennen Sie für jede Einstellung den Ausfall, den sie verhindert, und die Kosten, die sie verursacht. Mit dieser Struktur beantworten Sie die Frage und die Anschlussfrage in einem Atemzug.

Wie sehen Design- und Szenariofragen aus?

In Interviews für erfahrene Positionen werden Definitionen durch ein Szenario ersetzt, bei dem man Ihre Argumentation beobachtet. Eine typische Aufgabe: Ein Backend-Entwickler bewirbt sich bei einem Zahlungsunternehmen auf eine Plattformrolle und soll eine Ereignispipeline entwerfen, in der jede Transaktion eines Kontos der Reihe nach verarbeitet werden muss, der Durchsatz mit dem Datenverkehr wachsen soll und beim Ausfall eines Brokers keine Daten verloren gehen dürfen. Eine überzeugende Antwort versieht Nachrichten mit der Konto-ID als Schlüssel, damit die Ereignisse eines Kontos dieselbe Partition nutzen, dimensioniert die Partitionen für die erwartete Spitzenlast mit Wachstumsreserve, richtet Replikation und acks=all für Haltbarkeit ein und erklärt, wie Consumer Offsets bestätigen, damit ein Absturz zu einer erneuten Verarbeitung statt zum Überspringen führt.

Weitere häufige Szenarien: ein Consumer, der zurückfällt, sowie das Erkennen des Rückstands und das Aufholen; ein Topic, dessen Partitionsanzahl Sie bereuen, und warum eine Neupartitionierung die Schlüsselreihenfolge verletzt; eine problematische Nachricht, die den Consumer zum Absturz bringt, und das Dead-Letter-Muster, das sie isoliert; Schemaänderungen über Producer und Consumer hinweg und der Nutzen einer Schema-Registry. Der Interviewer sucht nicht nach der einzig richtigen Architektur. Er möchte, dass Sie die Einschränkung benennen, einen Mechanismus auswählen und die Abwägung laut aussprechen.

Üben Sie diese Fragen vor dem Interview laut, statt sie nur zu lesen. Szenariofragen mit einem KI-Interviewer zu proben, der mit Anschlussfragen nachhakt, ist der Zweck des Übungsmodus auf der Seite Probeinterview; eine größere Auswahl nach Rollen und Themen finden Sie unter Interviewfragen nach Rolle und Thema.

Kann ein KI-Interviewassistent bei Kafka-Fragen helfen?

In einer Gesprächsrunde ja, innerhalb ehrlicher Grenzen. Die native Desktop-App von SubcueAI für macOS und Windows erfasst den Ton des Interviewers sowie Ihr Mikrofon und zeigt kurze Antwortvorschläge in einer lokalen Einblendung an. Fragt der Interviewer also, wovor min.insync.replicas schützt, sehen Sie den Mechanismus auf Ihrem Bildschirm, während Sie ihn mit eigenen Worten erklären. Die Browsererweiterung bietet dasselbe für Anrufe in Browser-Tabs und erfasst ausschließlich den Ton des Meeting-Tabs. Keine der beiden Varianten fügt dem Anruf einen Bot hinzu oder schleust etwas in die Meeting-Seite ein; eine Anleitung zur Einrichtung finden Sie auf der Seite Tutorial.

Die Grenzen sind wichtiger als das Verkaufsargument. Ein beaufsichtigter Programmiertest, eine Bildschirmaufzeichnung oder ein vom Unternehmen verwalteter Laptop liegen außerhalb des Einsatzbereichs; auch eine Live-Programmieraufgabe, bei der Sie unter Beobachtung einen Consumer implementieren müssen, ist Ihre eigene Arbeit. Der Assistent eignet sich am besten für die oben genannten Begriffs- und Abwägungsfragen und am wenigsten für alles, was in eine Prüfungsplattform eingegeben wird. Bevor Sie sich darauf verlassen, hinterlegen Sie Ihren Lebenslauf, damit die Vorschläge die Kafka-Arbeit widerspiegeln, die Sie tatsächlich geleistet haben; dieses Profil befindet sich im Lebenslauf-Editor.

FAQ

Warum kann Kafka die Reihenfolge nur innerhalb einer Partition garantieren?

Jede Partition ist ein einzelnes geordnetes Log, das von einem Leader beschrieben wird, während verschiedene Partitionen auf unterschiedlichen Brokern liegen und unabhängig konsumiert werden. Eine partitionsübergreifende Reihenfolge würde Koordination erfordern, die genau die Parallelität beseitigen würde, für die Partitionen gedacht sind.

Was ist der Unterschied zwischen At-least-once und Exactly-once in Kafka?

At-least-once bedeutet, dass eine Nachricht nach einem Ausfall erneut zugestellt werden kann, weshalb Consumer Duplikate tolerieren müssen. Exactly-once kombiniert idempotente Producer mit Transaktionen, sodass Wiederholungsversuche und Offset-Bestätigungen innerhalb von Kafka atomar sind; Auswirkungen außerhalb von Kafka benötigen weiterhin eigene Idempotenz.

Wie viele Consumer sollte eine Consumer-Gruppe haben?

Höchstens ein aktiver Consumer pro Partition ist sinnvoll; zusätzliche Consumer bleiben untätig. Weniger Consumer als Partitionen sind unproblematisch, da jeder einfach mehrere Partitionen liest. Die gewählte Partitionsanzahl legt somit die Obergrenze der Consumer-Parallelität fest.

Was geschieht, wenn ein Kafka-Broker ausfällt?

Partitionen, deren Leader er war, wechseln zu einem In-Sync-Replikat auf einem anderen Broker, das vom Controller ausgewählt wird. Bei konfigurierter Replikation und acks=all bleiben bestätigte Schreibvorgänge erhalten; unbestätigte Schreibvorgänge werden vom Producer erneut versucht.

Kann SubcueAI bei einer Kafka-Programmierprüfung helfen?

Nein. Beaufsichtigte oder aufgezeichnete Prüfungen liegen außerhalb des Einsatzbereichs; der ehrliche Einsatz ist ein Gesprächsinterview, in dem Sie Konzepte und Abwägungen erklären. Im Probeinterview-Modus können Sie beides vor dem echten Gespräch üben.

Verwandte Fragen

← Mehr zu Interviewfragen nach Rolle & Thema