Top 14 Kafka-interviewvragen en antwoorden (2025)
Hier zijn Kafka-sollicitatievragen en -antwoorden voor zowel eerstejaars als ervaren kandidaten om hun droombaan te krijgen.
1) Noem wat Apache Kafka is?
Apache Kafka is een berichtensysteem voor publiceren en abonneren, ontwikkeld door Apache, geschreven in Scala. Het is een gedistribueerde, gepartitioneerde en gerepliceerde logservice.
Gratis pdf-download: vragen en antwoorden over Kafka-interviews
2) Noem wat de traditionele methode voor berichtoverdracht is?
De traditionele methode voor berichtoverdracht omvat twee methoden
- Wachtrij: In een wachtrij kan een groep consumenten berichten van de server lezen en elk bericht gaat naar een van hen
- Publiceren-Abonneren: In dit model worden berichten naar alle consumenten verzonden
Kafka richt zich op een enkele consumentenabstractie die zowel de bovenstaande consumentengroep veralgemeniseerde.
3) Noem wat de voordelen zijn van Apache Kafka ten opzichte van de traditionele techniek?
Apache Kafka heeft de volgende voordelen boven de traditionele berichtentechniek
- Snel: Eén enkele Kafka-makelaar kan duizenden klanten bedienen door megabytes aan lees- en schrijfbewerkingen per seconde te verwerken
- schaalbaar: Gegevens worden gepartitioneerd en gestroomlijnd over een cluster van machines om grotere gegevens mogelijk te maken
- Duurzaam: Berichten zijn persistent en worden binnen het cluster gerepliceerd om gegevensverlies te voorkomen
- Verdeeld per ontwerp: Het biedt fouttolerantiegaranties en duurzaamheid
4) Vermeld wat de betekenis is van makelaar in Kafka?
In het Kafka-cluster wordt de term broker gebruikt om naar Server te verwijzen.
5) Vermeld wat de maximale grootte is van het bericht dat de Kafka-server kan ontvangen?
De maximale grootte van het bericht dat de Kafka-server kan ontvangen is 1000000 bytes.
6) Leg uit wat Zookeeper in Kafka is? Kunnen we Kafka gebruiken zonder Zookeeper?
Zookeeper is een open source, krachtige coördinatieservice die wordt gebruikt voor gedistribueerde applicaties aangepast door Kafka. Nee, het is niet mogelijk om Zookeeper te omzeilen en rechtstreeks verbinding te maken met de Kafka-makelaar. Als de Dierenverzorger eenmaal offline is, kan deze geen klantverzoek meer inwilligen.
- Zookeeper wordt in principe gebruikt om te communiceren tussen verschillende knooppunten in een cluster
- In Kafka wordt het gebruikt om de offset vast te leggen, dus als het knooppunt in ieder geval faalt, kan het worden opgehaald uit de eerder vastgelegde offset
- Daarnaast voert het ook andere activiteiten uit, zoals leiderdetectie, gedistribueerde synchronisatie, configuratiebeheer, identificeert wanneer een nieuw knooppunt vertrekt of toetreedt, het cluster, de knooppuntstatus in realtime, enz.
7) Leg uit hoe de boodschap door de consument in Kafka wordt geconsumeerd?
Het overbrengen van berichten in Kafka gebeurt met behulp van sendfile API. Het maakt de overdracht van bytes van de socket naar schijf mogelijk via kernelruimte, waardoor kopieën worden bespaard en de kernelgebruiker terug naar de kernel kan worden opgeroepen.
8) Leg uit hoe u de doorvoer van een externe consument kunt verbeteren?
Als de consument zich in een ander datacenter bevindt dan de broker, moet u mogelijk de socketbuffergrootte afstemmen om de lange netwerklatentie te verminderen.
9) Leg uit hoe je tijdens de dataproductie precies één bericht van Kafka kunt ontvangen?
Om tijdens de dataproductie precies één bericht van Kafka te ontvangen, moet je twee dingen volgen het vermijden van duplicaten tijdens dataverbruik en het vermijden van duplicatie tijdens de gegevensproductie. Hier zijn de twee manieren om precies één semantiek te verkrijgen tijdens de gegevensproductie:
- Gebruik één enkele schrijver per partitie; elke keer dat u een netwerkfout krijgt, wordt het laatste bericht in die partitie gecontroleerd om te zien of uw laatste schrijfbewerking is geslaagd
- Voeg in het bericht een primaire sleutel (UUID of iets dergelijks) toe en ontdubbel de consument
10) Leg uit hoe u het verloop bij ISR kunt verminderen? Wanneer verlaat de makelaar de ISR?
ISR is een set berichtreplica's die volledig zijn gesynchroniseerd met de leiders, met andere woorden: ISR heeft alle berichten die zijn vastgelegd. ISR moet altijd alle replica's bevatten totdat er sprake is van een echte storing. Een replica wordt uit ISR verwijderd als deze afwijkt van de leider.
11) Waarom is replicatie vereist in Kafka?
Replicatie van berichten in Kafka zorgt ervoor dat gepubliceerde berichten niet verloren gaan en kunnen worden gebruikt in geval van een machinefout, programmafout of meer algemene software-upgrades.
12) Wat betekent het als de replica lange tijd buiten ISR blijft?
Als een replica langere tijd buiten ISR blijft, geeft dit aan dat de volger niet zo snel gegevens kan ophalen als de gegevens die bij de leider zijn verzameld.
13) Vermeld wat er gebeurt als de gewenste replica niet in de ISR staat?
Als de voorkeursreplica zich niet in de ISR bevindt, kan de controller niet bewegen leiderschap naar de gewenste replica.
14) Is het mogelijk om de boodschap na productie te compenseren?
Je kunt dat niet doen vanuit een klasse die zich als producent gedraagt, zoals in de meeste wachtrijsystemen; zijn rol is het afvuren en vergeten van de berichten. De makelaar doet de rest van het werk, zoals de juiste verwerking van metadata met id's, compensaties, enz. Als consument van het bericht kunt u de compensatie krijgen van een Kafka-makelaar. Als je in de Eenvoudige consument klasse, je zult merken dat het ophaalt MultiFetch-antwoord objecten die offsets als lijst bevatten. Bovendien zul je, als je de Kafka-boodschap herhaalt, dat ook doen BerichtAndOffset objecten die zowel de offset als het verzonden bericht bevatten.
Deze interviewvragen zullen ook helpen bij je viva (oralen)