Top 14 întrebări și răspunsuri la interviu Kafka (2024)
Iată întrebările și răspunsurile la interviu Kafka pentru studenții, precum și candidații cu experiență pentru a obține jobul visat.
1) Menționați ce este Apache Kafka?
Apache Kafka este un sistem de mesagerie publish-subscribe dezvoltat de Apache scris în Scala. Este un serviciu de jurnal distribuit, partiționat și replicat.
Descărcare gratuită PDF: Întrebări și răspunsuri la interviu Kafka
2) Menționați care este metoda tradițională de transfer de mesaje?
Metoda tradițională de transfer de mesaje include două metode
- La coadă: Într-o coadă, un grup de consumatori poate citi mesajul de pe server și fiecare mesaj ajunge la unul dintre ei
- Publicare-Abonare: În acest model, mesajele sunt difuzate către toți consumatorii
Kafka oferă o abstracție a consumatorului unic care a generalizat ambele dintre cele de mai sus - grupul de consumatori.
3) Menționați care sunt beneficiile Apache Kafka față de tehnica tradițională?
Apache Kafka are următoarele beneficii peste tehnicile tradiționale de mesagerie
- Rapid: Un singur broker Kafka poate deservi mii de clienți gestionând megaocteți de citiri și scrieri pe secundă
- Scalable: Datele sunt partiționate și simplificate pe un grup de mașini pentru a permite date mai mari
- Durabil: Mesajele sunt persistente și sunt replicate în cluster pentru a preveni pierderea datelor
- Distribuit de Design: Oferă garanții de toleranță la erori și durabilitate
4) Menționați care este sensul brokerului în Kafka?
În clusterul Kafka, termenul de broker este folosit pentru a face referire la Server.
5) Menționați care este dimensiunea maximă a mesajului pe care serverul Kafka îl poate primi?
Dimensiunea maximă a mesajului pe care serverul Kafka îl poate primi este de 1000000 de octeți.
6) Explicați ce este Zookeeper în Kafka? Putem folosi Kafka fără Zookeeper?
Zookeeper este un serviciu de coordonare open source, de înaltă performanță, utilizat pentru aplicații distribuite adaptate de Kafka. Nu, nu este posibil să ocoliți Zookeeper și să vă conectați direct la brokerul Kafka. Odată ce Zookeeper este în jos, nu poate servi cererea clientului.
- Zookeeper este folosit practic pentru a comunica între diferite noduri dintr-un cluster
- În Kafka, este folosit pentru a comite offset-ul, deci dacă nodul eșuează în orice caz, acesta poate fi preluat din offset-ul comis anterior
- În afară de aceasta, face și alte activități precum detectarea liderului, sincronizarea distribuită, gestionarea configurației, identifică când un nou nod părăsește sau se alătură, clusterul, starea nodului în timp real etc.
7) Explicați cum este consumat mesajul de către consumator în Kafka?
Transferul mesajelor în Kafka se face folosind sendfile API. Permite transferul de octeți de la socket pe disc prin copii de economisire a spațiului nucleului și apelul între utilizatorii nucleului înapoi la nucleu.
8) Explicați cum puteți îmbunătăți debitul unui consumator de la distanță?
Dacă consumatorul se află într-un centru de date diferit de cel al brokerului, este posibil să fie necesar să reglați dimensiunea bufferului socketului pentru a amortiza latența lungă a rețelei.
9) Explicați cum puteți primi o singură dată mesaje de la Kafka în timpul producției de date?
În timpul producției de date, pentru a primi o singură dată mesajele de la Kafka, trebuie să urmați două lucruri evitarea dublelor în timpul consumului de date si evitând dublarea în timpul producerii datelor. Iată cele două moduri de a obține exact o semantică în timpul producției de date:
- Utilizați un singur writer per partiție, de fiecare dată când primiți o eroare de rețea, verifică ultimul mesaj din acea partiție pentru a vedea dacă ultima scriere a reușit
- În mesaj includeți o cheie primară (UUID sau ceva) și deduplicați-l pe consumator
10) Explicați cum puteți reduce rata de pierdere în ISR? Când brokerul părăsește ISR?
ISR este un set de replici de mesaje care sunt complet sincronizate cu liderii, cu alte cuvinte ISR are toate mesajele care sunt comise. ISR ar trebui să includă întotdeauna toate replicile până când există un eșec real. O replică va fi retrasă din ISR dacă se abate de la lider.
11) De ce este necesară replicarea în Kafka?
Replicarea mesajului în Kafka asigură că orice mesaj publicat nu se pierde și poate fi consumat în caz de eroare a mașinii, eroare de program sau actualizări de software mai frecvente.
12) Ce indică dacă replica rămâne în afara ISR pentru o perioadă lungă de timp?
Dacă o replică rămâne în afara ISR pentru o perioadă lungă de timp, aceasta indică faptul că adeptul nu poate prelua date la fel de repede ca datele acumulate la lider.
13) Menționați ce se întâmplă dacă replica preferată nu este în ISR?
Dacă replica preferată nu se află în ISR, controlerul nu se va muta conducere la replica preferată.
14) Este posibil să obțineți compensarea mesajului după producere?
Nu poți face asta dintr-o clasă care se comportă ca un producător ca în majoritatea sistemelor de coadă, rolul ei este să declanșeze și să uite mesajele. Brokerul va face restul muncii, cum ar fi gestionarea adecvată a metadatelor cu ID-uri, offset-uri etc. În calitate de consumator al mesajului, puteți obține compensarea de la un broker Kafka. Dacă te uiți în SimpleConsumer clasa, veți observa că ajunge MultiFetchResponse obiecte care includ offset-uri ca o listă. În plus, atunci când repeți mesajul Kafka, vei avea MessageAndOffset obiecte care includ atât offset-ul, cât și mesajul trimis.
Aceste întrebări de interviu vă vor ajuta, de asemenea, în viva (orale)