Die 14 wichtigsten Fragen und Antworten zum Kafka-Interview (2025)

Hier finden Sie Fragen und Antworten zu Kafka-Interviews für Studienanfänger und erfahrene Kandidaten, die ihren Traumjob bekommen möchten.


1) Erwähnen Sie, was Apache Kafka ist?

Apache Kafka ist ein von Apache entwickeltes Publish-Subscribe-Messaging-System, das in Scala geschrieben ist. Es handelt sich um einen verteilten, partitionierten und replizierten Protokolldienst.

Kostenloser PDF-Download: Fragen und Antworten zum Kafka-Interview


2) Erwähnen Sie, was die traditionelle Methode der Nachrichtenübermittlung ist.

Die traditionelle Methode der Nachrichtenübertragung umfasst zwei Methoden

  • Warteschlange: In einer Warteschlange kann ein Pool von Verbrauchern Nachrichten vom Server lesen und jede Nachricht geht an einen von ihnen
  • Veröffentlichen-Abonnieren: Bei diesem Modell werden Nachrichten an alle Verbraucher gesendet

Kafka bietet eine einzelne Verbraucherabstraktion, die beide oben genannten Punkte verallgemeinert – die Verbrauchergruppe.


3) Erwähnen Sie, welche Vorteile Apache Kafka gegenüber der traditionellen Technik hat?

Apache Kafka bietet gegenüber der herkömmlichen Messaging-Technik folgende Vorteile

  • Schnell: Ein einzelner Kafka-Broker kann Tausende von Clients bedienen, indem er Megabyte an Lese- und Schreibvorgängen pro Sekunde verarbeitet
  • Skalierbar: Die Daten werden über einen Cluster von Maschinen partitioniert und optimiert, um größere Datenmengen zu ermöglichen
  • Dauerhaft: Nachrichten sind persistent und werden innerhalb des Clusters repliziert, um Datenverlust zu verhindern
  • Vertrieb durch Design: Es bietet Fehlertoleranzgarantien und Haltbarkeit

4) Erwähnen Sie, was der Begriff „Broker“ in Kafka bedeutet.

Im Kafka-Cluster wird der Begriff „Broker“ für die Bezeichnung Server verwendet.


5) Erwähnen Sie, wie groß die Nachricht maximal sein kann, die der Kafka-Server empfangen kann.

Die maximale Größe der Nachricht, die der Kafka-Server empfangen kann, beträgt 1000000 Byte.

Fragen zum Kafka-Interview
Fragen zum Kafka-Interview

6) Erklären Sie, was Zookeeper in Kafka ist? Können wir Kafka ohne Zookeeper verwenden?

Zookeeper ist ein von Kafka adaptierter Open-Source-Hochleistungs-Koordinationsdienst für verteilte Anwendungen. Nein, es ist nicht möglich, Zookeeper zu umgehen und sich direkt mit dem Kafka-Broker zu verbinden. Sobald der Zookeeper ausgefallen ist, kann er keine Clientanfragen mehr bedienen.

  • Zookeeper wird grundsätzlich zur Kommunikation zwischen verschiedenen Knoten in einem Cluster verwendet
  • In Kafka wird es zum Festschreiben des Offsets verwendet. Wenn also der Knoten ausfällt, kann er aus dem zuvor festgeschriebenen Offset abgerufen werden
  • Darüber hinaus führt es auch andere Aktivitäten aus, wie z. B. Leader-Erkennung, verteilte Synchronisierung, Konfigurationsmanagement, Identifizierung, wenn ein neuer Knoten das Verlassen oder Beitreten, den Cluster, den Knotenstatus in Echtzeit usw.

7) Erklären Sie, wie die Botschaft in Kafka vom Verbraucher konsumiert wird.

Die Übertragung von Nachrichten erfolgt in Kafka mithilfe von sendfile API. Es ermöglicht die Übertragung von Bytes vom Socket auf die Festplatte über platzsparende Kopien im Kernel und den Rückruf zwischen Kernel-Benutzern und dem Kernel.


8) Erklären Sie, wie Sie den Durchsatz eines Remote-Verbrauchers verbessern können.

Wenn sich der Verbraucher in einem anderen Rechenzentrum als der Broker befindet, müssen Sie möglicherweise die Größe des Socket-Puffers optimieren, um die lange Netzwerklatenz auszugleichen.

Fragen zum Apache Kafka-Interview
Fragen zum Apache Kafka-Interview

9) Erklären Sie, wie Sie während der Datenproduktion genau eine Nachricht von Kafka erhalten können.

Während der Datenproduktion müssen zwei Dinge beachtet werden, um genau eine Nachricht von Kafka zu erhalten Vermeidung von Duplikaten beim Datenverbrauch sowie Vermeidung von Duplikaten während der Datenproduktion. Hier sind die beiden Möglichkeiten, bei der Datenproduktion genau eine Semantik zu erhalten:

  1. Nutzen Sie einen einzelnen Writer pro Partition. Jedes Mal, wenn ein Netzwerkfehler auftritt, wird die letzte Nachricht in dieser Partition überprüft, um festzustellen, ob Ihr letzter Schreibvorgang erfolgreich war
  2. Fügen Sie in die Nachricht einen Primärschlüssel (UUID oder etwas Ähnliches) ein und deduplizieren Sie ihn auf dem Verbraucher

10) Erklären Sie, wie Sie die Abwanderung im ISR reduzieren können. Wann verlässt der Broker den ISR?

Bei ISR ​​handelt es sich um eine Reihe von Nachrichtenreplikaten, die vollständig mit den Anführern synchronisiert sind. Mit anderen Worten: ISR enthält alle festgeschriebenen Nachrichten. ISR sollte immer alle Replikate umfassen, bis es zu einem echten Fehler kommt. Ein Replikat wird aus dem ISR entfernt, wenn es vom Leader abweicht.


11) Warum ist in Kafka eine Replikation erforderlich?

Durch die Replikation von Nachrichten in Kafka wird sichergestellt, dass veröffentlichte Nachrichten nicht verloren gehen und im Falle eines Maschinenfehlers, eines Programmfehlers oder häufigerer Software-Upgrades verbraucht werden können.


12) Was bedeutet es, wenn das Replikat längere Zeit außerhalb des ISR bleibt?

Wenn ein Replikat über einen längeren Zeitraum außerhalb des ISR bleibt, weist dies darauf hin, dass der Follower nicht in der Lage ist, Daten so schnell abzurufen wie die beim Leader gesammelten Daten.


13) Erwähnen Sie, was passiert, wenn sich das bevorzugte Replikat nicht im ISR befindet?

Wenn sich das bevorzugte Replikat nicht im ISR befindet, kann der Controller nicht verschoben werden Führungswesen zum bevorzugten Replikat.


14) Ist es möglich, den Nachrichten-Offset nach der Produktion abzurufen?

Dies ist mit einer Klasse, die sich wie in den meisten Warteschlangensystemen als Produzent verhält, nicht möglich. Ihre Aufgabe besteht darin, die Nachrichten auszulösen und zu vergessen. Der Broker erledigt den Rest der Arbeit wie die entsprechende Metadatenverarbeitung mit IDs, Offsets usw. Als Verbraucher der Nachricht können Sie den Offset von einem Kafka-Broker erhalten. Wenn Sie hineinschauen SimpleConsumer Klasse, Sie werden feststellen, dass es gut ankommt MultiFetchResponse Objekte, die Offsets enthalten, als Liste. Wenn Sie die Kafka-Nachricht iterieren, erhalten Sie außerdem Folgendes: MessageAndOffset Objekte, die sowohl den Offset als auch die gesendete Nachricht enthalten.

Diese Interviewfragen helfen auch bei Ihrer mündlichen Prüfung

Teilen

Hinterlasse uns einen Kommentar

E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind MIT * gekennzeichnet. *