Jakich pytań rekrutacyjnych o Kafka mogę się spodziewać?
Autor: Aaron Cao · Zaktualizowano

Spodziewaj się czterech warstw: podstawowych pojęć (tematy, partycje, przesunięcia, grupy konsumentów), gwarancji dostarczenia (co najmniej raz, dokładnie raz, idempotentni producenci), operacji (replikacja, zsynchronizowane repliki, retencja, równoważenie) oraz scenariuszy projektowych, w których określasz liczbę partycji, wybierasz klucze i obsługujesz awarie. Rekruterzy sprawdzają uzasadnienie każdej odpowiedzi.
Jakie podstawowe pojęcia Kafka sprawdza najpierw każdy rekruter?
Wiesz już, że Kafka jest rozproszonym dziennikiem, i obawiasz się, że rekruter zejdzie poziom głębiej niż zakres Twojego codziennego korzystania z niej. Właśnie do tego zmierzają te pytania, dlatego ta sekcja omawia terminologię w kolejności zwykle przyjmowanej przez rekruterów i wskazuje pytanie uzupełniające kryjące się za każdym pojęciem.
- Tematy i partycje. Temat jest podzielony na partycje, z których każda jest uporządkowanym dziennikiem tylko do dopisywania. Pytanie uzupełniające: dlaczego Kafka skaluje zapisy przez dodawanie partycji, zamiast przyspieszać jeden dziennik?
- Przesunięcia. Pozycja konsumenta w partycji. Pytanie uzupełniające: kto przechowuje zatwierdzone przesunięcia i co się dzieje, jeśli konsument ulegnie awarii przed zatwierdzeniem?
- Grupy konsumentów. Konsumenci w grupie współdzielą partycje tematu, przy czym w danym momencie każda partycja przypada najwyżej jednemu konsumentowi w grupie. Pytanie uzupełniające: co dzieje się z przepustowością, jeśli grupa ma więcej konsumentów niż partycji?
- Brokery i kontroler. Brokery przechowują partycje, a kontroler zarządza wyborem lidera i metadanymi. Pytanie uzupełniające: co zmieniło się, gdy Kafka przeniosła metadane z ZooKeeper do KRaft?
- Producenci i klucze. Wiadomość z kluczem trafia do partycji wybranej przez haszowanie klucza, a wiadomość bez klucza jest rozdzielana między partycje. Pytanie uzupełniające: który z tych dwóch wariantów zachowuje kolejność zdarzeń jednego klienta?
Odpowiadaj, opisując mechanizm, a nie slogan. Stwierdzenie, że partycje zapewniają równoległość, to absolutna podstawa; dopiero wyjaśnienie, że kolejność istnieje wyłącznie wewnątrz partycji, a zatem klucz wyznacza domenę uporządkowania, jest odpowiedzią prowadzącą do następnego etapu.
Jak wyglądają pytania o gwarancje dostarczenia i replikację?
Na tym poziomie większość kandydatów traci punkty, ponieważ pojęcia są proste, ale kompromisy już nie. Spodziewaj się, że rekruter określi gwarancję i poprosi Cię o uzyskanie jej za pomocą ustawień.
- Co najwyżej raz a co najmniej raz. Jeśli zatwierdzisz przesunięcie przed przetworzeniem, możesz utracić wiadomość; jeśli najpierw ją przetworzysz, a zatwierdzisz później, możesz przetworzyć ją dwukrotnie. Powiedz, jaką awarię toleruje każda kolejność i którą preferuje Twój system.
- Idempotentni producenci i dokładnie raz. Idempotentny producent usuwa duplikaty ponownych prób w obrębie partycji; transakcje rozszerzają tę właściwość na wiele partycji oraz przesunięcia konsumentów w pętli konsumuj–przekształć–wyprodukuj. Przygotuj się na wyjaśnienie, czego gwarancja dokładnie raz nie obejmuje: zapis w dalszej bazie danych poza transakcją nadal pozostaje Twoim problemem.
- acks, współczynnik replikacji i zsynchronizowane repliki.
acks=allczeka na zestaw zsynchronizowanych replik;min.insync.replicasokreśla, jak bardzo ten zestaw może się zmniejszyć, zanim zapisy zostaną odrzucone. Rekruterzy często pytają, co poświęcasz tutaj na rzecz trwałości: opóźnienie i dostępność podczas utraty brokera. - Retencja i kompaktowanie. Retencja oparta na czasie lub rozmiarze usuwa stare segmenty; kompaktowanie dziennika zachowuje najnowszy rekord dla każdego klucza. Pytanie uzupełniające: które rozwiązanie stanowi podstawę dziennika zmian dla magazynu klucz-wartość i dlaczego?
- Równoważenie. Gdy konsument dołącza lub odchodzi, partycje są przydzielane ponownie. Pytanie uzupełniające: jak długie równoważenie wpływa na usługę wrażliwą na opóźnienia oraz jak równoważenie kooperacyjne i członkostwo statyczne ograniczają ten problem?
Przydatny nawyk: przy każdym wymienionym ustawieniu powiedz, jakiej awarii zapobiega i jaki koszt wprowadza. Taka struktura pozwala jednym ciągiem odpowiedzieć na pytanie główne i uzupełniające.
Jak wyglądają pytania projektowe i scenariuszowe?
W rekrutacji na stanowiska wyższego szczebla definicje zastępuje się scenariuszem i obserwuje tok Twojego rozumowania. Typowy przykład: inżynier backendu ubiegający się o stanowisko platformowe w firmie płatniczej ma zaprojektować potok zdarzeń, w którym każda transakcja dotycząca jednego konta musi być przetwarzana w kolejności, przepustowość musi rosnąć wraz z ruchem, a awaria brokera nie może powodować utraty danych. Dobra odpowiedź przewiduje przypisywanie wiadomości kluczem identyfikatora konta, aby zdarzenia jednego konta trafiały do wspólnej partycji, dobór liczby partycji do oczekiwanego szczytowego obciążenia z zapasem na rozwój, ustawienie replikacji i acks=all dla trwałości oraz wyjaśnienie sposobu zatwierdzania przesunięć przez konsumentów, tak aby awaria powodowała ponowne odtworzenie, a nie pominięcie danych.
Inne powtarzające się scenariusze to: konsument pozostający w tyle oraz sposób wykrywania opóźnienia i nadrabiania zaległości; temat, którego liczby partycji żałujesz, oraz powód, dla którego ponowne partycjonowanie zaburza kolejność kluczy; szkodliwa wiadomość powodująca awarię konsumenta i wzorzec kolejki wiadomości odrzuconych, który ją izoluje; zmiany schematu między producentami i konsumentami oraz korzyści zapewniane przez rejestr schematów. Rekruter nie szuka jednej właściwej architektury. Chce usłyszeć, jak nazywasz ograniczenie, wybierasz mechanizm i wyraźnie wskazujesz kompromis.
Przed rozmową ćwicz te odpowiedzi na głos, zamiast jedynie je czytać. Tryb ćwiczeń ze sztucznym rekruterem, który zadaje pytania uzupełniające, jest dostępny na stronie próbnej rozmowy rekrutacyjnej, a szerszy zestaw baz według stanowiska i tematu znajduje się w sekcji pytań rekrutacyjnych według stanowiska i tematu.
Czy asystent AI może pomóc przy pytaniach o Kafka?
Podczas rozmowy — tak, w uczciwie określonych granicach. Natywna aplikacja komputerowa SubcueAI na macOS i Windows przechwytuje dźwięk rekrutera oraz Twój mikrofon i wyświetla krótkie sugestie odpowiedzi w lokalnej nakładce, więc gdy rekruter pyta, przed czym chroni min.insync.replicas, mechanizm pojawia się na ekranie, a Ty wyjaśniasz go własnymi słowami. Rozszerzenie przeglądarki robi to samo podczas rozmów w karcie przeglądarki, przechwytując wyłącznie dźwięk z karty spotkania. Żadne z tych rozwiązań nie dodaje bota do rozmowy ani nie wprowadza niczego na stronę spotkania; instrukcję konfiguracji znajdziesz na stronie samouczka.
Ograniczenia są ważniejsze niż obietnice. Nadzorowany test kodowania, nagrywany ekran lub laptop zarządzany przez firmę znajdują się poza zakresem zastosowania, a ćwiczenie z kodowania na żywo, podczas którego musisz zaimplementować konsumenta pod obserwacją, jest Twoją samodzielną pracą. Asystent najlepiej radzi sobie z powyższymi pytaniami o terminologię i kompromisy, a najsłabiej ze wszystkim, co wpisuje się na platformie egzaminacyjnej. Zanim na nim polegniesz, przekaż mu swoje CV, aby sugestie odzwierciedlały faktyczną pracę z Kafka; ten profil znajduje się w kreatorze CV.
FAQ
Dlaczego Kafka może gwarantować kolejność tylko w obrębie partycji?
Czym różni się gwarancja co najmniej raz od dokładnie raz w Kafka?
Ilu konsumentów powinna mieć grupa konsumentów?
Co się dzieje, gdy broker Kafka ulegnie awarii?
Czy SubcueAI może pomóc podczas testu kodowania z Kafka?
Powiązane pytania
- Jakich pytań rekrutacyjnych o Databricks mogę się spodziewać?
- Jakich pytań rekrutacyjnych z .NET mogę się spodziewać?
- Jakich pytań rekrutacyjnych dla inżyniera jakości mogę się spodziewać?
- Jakich pytań mogę się spodziewać na rozmowie quant?
- Jakich pytań o Snowflake mogę się spodziewać na rozmowie?
- Jakich pytań mogę się spodziewać na rozmowie dla nauczyciela?