14 najpopularniejszych pytań i odpowiedzi do wywiadu z Kafką (2025)

Oto pytania i odpowiedzi dotyczące rozmów kwalifikacyjnych Kafki zarówno dla nowicjuszy, jak i doświadczonych kandydatów, którzy chcą zdobyć wymarzoną pracę.


1) Wspomnij, czym jest Apache Kafka?

Apache Kafka to system przesyłania wiadomości typu publikuj i subskrybuj opracowany przez firmę Apache napisany w języku Scala. Jest to rozproszona, partycjonowana i replikowana usługa dziennika.

Bezpłatne pobieranie w formacie PDF: Pytania i odpowiedzi dotyczące wywiadu z Kafką


2) Wspomnij, jaka jest tradycyjna metoda przesyłania wiadomości?

Tradycyjna metoda przesyłania wiadomości obejmuje dwie metody

  • Kolejka: W kolejce grupa konsumentów może przeczytać wiadomość z serwera i każda wiadomość trafia do jednego z nich
  • Publikuj-subskrybuj: W tym modelu komunikaty są rozsyłane do wszystkich konsumentów

Kafka obsługuje abstrakcję pojedynczego konsumenta, która uogólnia obie powyższe grupy konsumentów.


3) Wspomnij, jakie są zalety Apache Kafka w porównaniu z tradycyjną techniką?

Apache Kafka ma następujące zalety w porównaniu z tradycyjną techniką przesyłania wiadomości

  • Fast: Pojedynczy broker Kafka może obsługiwać tysiące klientów, obsługując megabajty odczytów i zapisów na sekundę
  • Skalowalny: Dane są partycjonowane i usprawniane w klastrze maszyn, aby umożliwić gromadzenie większych ilości danych
  • Trwały: Komunikaty są trwałe i replikowane w klastrze, aby zapobiec utracie danych
  • Dystrybucja według projektu: Zapewnia gwarancję odporności na uszkodzenia i trwałość

4) Wspomnij, co oznacza broker w Kafce?

W klastrze Kafka termin brokerski jest używany w odniesieniu do serwera.


5) Wspomnij, jaki jest maksymalny rozmiar wiadomości, jaką może odebrać serwer Kafki?

Maksymalny rozmiar wiadomości, jaką może odebrać serwer Kafka, to 1000000 bajtów.

Pytania do wywiadu Kafki
Pytania do wywiadu Kafki

6) Wyjaśnij, czym jest Zookeeper w Kafce? Czy możemy używać Kafki bez Zookeepera?

Zookeeper to wysokowydajna usługa koordynacyjna typu open source używana w aplikacjach rozproszonych zaadaptowanych przez Kafkę. Nie, nie można ominąć Zookeepera i połączyć się bezpośrednio z brokerem Kafka. Gdy Zookeeper nie działa, nie może obsługiwać żądań klienta.

  • Zookeeper jest zasadniczo używany do komunikacji pomiędzy różnymi węzłami w klastrze
  • W Kafce służy do zatwierdzania przesunięcia, więc jeśli węzeł ulegnie awarii, w każdym przypadku można go odzyskać z wcześniej zatwierdzonego przesunięcia
  • Oprócz tego wykonuje również inne działania, takie jak wykrywanie liderów, synchronizacja rozproszona, zarządzanie konfiguracją, identyfikuje, kiedy nowy węzeł opuszcza lub dołącza, klaster, status węzła w czasie rzeczywistym itp.

7) Wyjaśnij, w jaki sposób przekaz jest konsumowany przez konsumenta w Kafce?

Przesyłanie wiadomości w Kafce odbywa się za pomocą sendfile API. Umożliwia przesyłanie bajtów z gniazda na dysk poprzez kopie oszczędzające miejsce jądra i wywołanie pomiędzy użytkownikiem jądra z powrotem do jądra.


8) Wyjaśnij, jak możesz poprawić przepustowość zdalnego konsumenta?

Jeśli odbiorca znajduje się w innym centrum danych niż broker, może być konieczne dostrojenie rozmiaru bufora gniazda, aby zamortyzować długie opóźnienia sieci.

Pytania do wywiadu z Apache Kafką
Pytania do wywiadu z Apache Kafką

9) Wyjaśnij, w jaki sposób można uzyskać dokładnie jednorazową wiadomość od Kafki podczas tworzenia danych?

Podczas produkcji danych, aby uzyskać dokładnie jednorazową wiadomość od Kafki, musisz przestrzegać dwóch rzeczy unikanie duplikatów podczas zużycia danych oraz unikanie powielania podczas tworzenia danych. Oto dwa sposoby uzyskania dokładnie jednej semantyki podczas tworzenia danych:

  1. Korzystaj z jednego modułu zapisującego na partycję. Za każdym razem, gdy pojawi się błąd sieci, sprawdza ostatnią wiadomość na tej partycji, aby sprawdzić, czy ostatni zapis się powiódł
  2. W wiadomości dołącz klucz podstawowy (UUID lub coś innego) i usuń duplikat u klienta

10) Wyjaśnij, jak możesz zmniejszyć odpływ klientów w ISR? Kiedy broker opuszcza ISR?

ISR to zestaw replik wiadomości, które są całkowicie zsynchronizowane z liderami, innymi słowy ISR zawiera wszystkie zatwierdzone wiadomości. ISR powinien zawsze uwzględniać wszystkie repliki, aż do wystąpienia rzeczywistej awarii. Replika zostanie wyrzucona z ISR, jeśli odejdzie od lidera.


11) Dlaczego w Kafce wymagana jest replikacja?

Replikacja wiadomości w Kafce gwarantuje, że żadna opublikowana wiadomość nie zostanie utracona i może zostać wykorzystana w przypadku błędu maszyny, błędu programu lub częstszych aktualizacji oprogramowania.


12) Co oznacza, że ​​replika przez dłuższy czas pozostaje poza ISR?

Jeśli replika pozostaje poza ISR przez dłuższy czas, oznacza to, że obserwujący nie jest w stanie pobrać danych tak szybko, jak dane zgromadzone u lidera.


13) Wspomnij, co się stanie, jeśli preferowanej repliki nie będzie w ISR?

Jeśli preferowanej repliki nie ma w ISR, kontroler nie będzie mógł się ruszyć przywództwo do preferowanej repliki.


14) Czy możliwe jest uzyskanie przesunięcia komunikatu po wyprodukowaniu?

Nie można tego zrobić z klasy, która zachowuje się jak producent jak w większości systemów kolejek, jej rolą jest odpalanie i zapominanie komunikatów. Broker wykona resztę pracy, na przykład odpowiednią obsługę metadanych z identyfikatorami, przesunięciami itp. Jako odbiorca wiadomości możesz uzyskać przesunięcie od brokera Kafki. Jeśli spojrzysz w Prosty Konsument class, zauważysz, że to pobiera Odpowiedź MultiFetch obiekty zawierające przesunięcia w formie listy. Oprócz tego, kiedy będziesz iterować Wiadomość Kafki, będziesz to miał Wiadomość i przesunięcie obiekty, które zawierają zarówno przesunięcie, jak i wysłaną wiadomość.

Te pytania podczas rozmowy kwalifikacyjnej pomogą również w Twoim życiu (ustach)

Udziały

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *