Technologieaustausch

Fragen zum Kafka-Interview (Grundkenntnisse – Fortgeschrittene – Fortgeschrittene)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Inhaltsverzeichnis

Kafka-Grundlagen

1. Wozu dient Kafka? Welche Nutzungsszenarien gibt es?

2.Wofür stehen ISR und AR bei Kafka? Was bedeutet Skalierung des ISR?

3.Wofür stehen HW, LEO, LSO, LW usw. in Kafka?

4. Wie spiegelt Kafka die Nachrichtensequenz wider?

5. Verstehen Sie den Partitionierer, Serialisierer und Interceptor in Kafka? Wie ist die Verarbeitungsreihenfolge zwischen ihnen?

6.Wie sieht die Gesamtstruktur des Kafka-Produzenten-Clients aus?

7. Wie viele Threads werden im Kafka-Produzenten-Client zur Verarbeitung verwendet? Was sind die Unterschiede?

8. Welche Mängel weist das Design von Kafkas altem Scala-Consumer-Client auf?

9. Ist dieser Satz richtig: „Wenn die Anzahl der Verbraucher in der Verbrauchergruppe die Themenpartition überschreitet, können einige Verbraucher keine Daten konsumieren.“ Wenn richtig, gibt es einen Hack?

10. Welche Situationen können zu wiederholtem Konsum führen?

Unter welchen Umständen kommt es zu Informationslecks?

12.KafkaConsumer ist nicht threadsicher. Wie implementiert man also den Multithread-Verbrauch?

13. Beschreiben Sie kurz die Beziehung zwischen Verbrauchern und Verbrauchergruppen

14. Welche Logik wird Kafka dahinter ausführen, wenn Sie kafka-topics.sh zum Erstellen (Löschen) eines Themas verwenden?

15.Kann die Anzahl der Themenpartitionen erhöht werden? Wenn möglich, wie kann es erhöht werden? Wenn nicht, warum?

16.Kann die Anzahl der Themenpartitionen reduziert werden? Wenn möglich, wie kann es reduziert werden? Wenn nicht, warum?

17. Wie wähle ich beim Erstellen eines Themas die entsprechende Anzahl an Partitionen aus?

Kakfa-Fortgeschrittenenkapitel

1. Welche internen Themen hat Kafka derzeit und was zeichnet sie aus? Welche Rolle spielen die einzelnen?

2. Was ist ein Vorrangexemplar? Welche besondere Funktion hat es?

3. Woher kommt bei Kafka das Konzept der Partitionszuweisung?Beschreiben Sie kurz den allgemeinen Prozess und die Prinzipien

4. Beschreiben Sie kurz die Protokollverzeichnisstruktur von Kafka

5. Welche Indexdateien gibt es in Kafka?

6. Wenn ich einen Offset spezifiziere, wie findet Kafka die entsprechende Nachricht?

7. Wie findet Kafka die entsprechende Nachricht, wenn ich einen Zeitstempel angebe?

8. Sprechen Sie über Ihr Verständnis von Kafkas Log Retention

1. Basierend auf der Zeit

2. Basierend auf der Protokollgröße

3. Basierend auf dem Log-Startoffset

9. Sprechen Sie über Ihr Verständnis von Kafkas Log Compaction#

10. Sprechen Sie über Ihr Verständnis des zugrunde liegenden Speichers von Kafka

11. Lassen Sie uns über das Prinzip der Verzögerungsoperation von Kafka sprechen

12 Lassen Sie uns über die Rolle des Kafka-Controllers sprechen

13.Welche Mängel weist das Design von Kafkas altem Scala-Consumer-Client auf?

14. Was ist das Prinzip des Konsumausgleichs? (Hinweis: Verbraucherkoordinator und Verbrauchergruppenkoordinator)

15.Wie wird Idempotenz in Kafka implementiert?

Kafka Fortgeschritten

1. Wie werden Transaktionen in Kafka implementiert?

2.Was bedeutet eine ungültige Kopie? Welche Gegenmaßnahmen gibt es?

3. Unter mehreren Kopien der Entwicklungsprozess von HW und LEO in jeder Kopie

4.Welche Verbesserungen hat Kafka in Bezug auf die Zuverlässigkeit vorgenommen?

5. Warum unterstützt Kafka keine Lese-/Schreibtrennung?

6. So implementieren Sie eine Verzögerungswarteschlange in Kafka

7. Wie implementiert man eine Warteschlange für unzustellbare Nachrichten und eine Wiederholungswarteschlange in Kafka?

8. Wie führt man eine Nachrichtenprüfung in Kafka durch?

9. Wie erstelle ich Nachrichtenspuren in Kafka?

10. Wie berechnet man die Verzögerung? (Beachten Sie den Unterschied zwischen den Zuständen read_uncommitted und read_committed)

11. Auf welche Indikatoren von Kafka muss man sich konzentrieren?

12. Welche Entwürfe von Kafka ermöglichen ihm eine so hohe Leistung?

1.Partition

2. Reduzieren Sie den Overhead bei der Netzwerkübertragung

3. Sequentielles Lesen und Schreiben

4. Zero-Copy-Technologie

5. Hervorragender Dateispeichermechanismus


Kafka-Grundlagen

1. Wozu dient Kafka? Welche Nutzungsszenarien gibt es?

Nachrichtensystem: Sowohl Kafka als auch herkömmliche Messaging-Systeme (auch Nachrichten-Middleware genannt) verfügen über Funktionen wie Systementkopplung, redundante Speicherung, Reduzierung von Verkehrsspitzen, Pufferung, asynchrone Kommunikation, Skalierbarkeit und Wiederherstellbarkeit. Gleichzeitig bietet Kafka auch Funktionen zur Garantie der Nachrichtensequenz und zum rückwirkenden Verbrauch, die in den meisten Messaging-Systemen nur schwer zu erreichen sind.

Speichersystem: Kafka speichert Nachrichten dauerhaft auf der Festplatte, wodurch das Risiko eines Datenverlusts im Vergleich zu anderen Systemen, die auf Speicherspeicherung basieren, effektiv verringert wird. Dank der Nachrichtenpersistenzfunktion und des Mehrfachkopiemechanismus von Kafka können wir Kafka als langfristiges Datenspeichersystem verwenden. Wir müssen lediglich die entsprechende Datenaufbewahrungsrichtlinie auf „permanent“ setzen oder die Protokollkomprimierungsfunktion des Themas aktivieren. Das ist es.

Streaming-Verarbeitungsplattform: Kafka bietet nicht nur eine zuverlässige Datenquelle für jedes gängige Streaming-Framework, sondern auch eine vollständige Streaming-Klassenbibliothek, wie z. B. Fenster, Joins, Transformationen, Aggregationen und andere Operationen.