Топ 14 на въпросите и отговорите за интервюто с Кафка (2025)
Ето въпроси и отговори за интервюто с Кафка за новопостъпили, както и за опитни кандидати, за да получат мечтаната работа.
1) Споменете какво е Apache Kafka?
Apache Kafka е система за публикуване и абониране на съобщения, разработена от Apache, написана на Scala. Това е разпределена, разделена и репликирана лог услуга.
Безплатно изтегляне на PDF: Въпроси и отговори за интервюто на Кафка
2) Споменете какъв е традиционният метод за прехвърляне на съобщения?
Традиционният метод за прехвърляне на съобщения включва два метода
- На опашка: В опашката набор от потребители може да прочете съобщение от сървъра и всяко съобщение отива до един от тях
- Публикуване-Абониране: При този модел съобщенията се излъчват към всички потребители
Кафка обслужва единична потребителска абстракция, която обобщава и двете по-горе - потребителската група.
3) Споменете какви са предимствата на Apache Kafka пред традиционната техника?
Apache Kafka има следните предимства пред традиционните техники за съобщения
- Бърз: Един брокер Kafka може да обслужва хиляди клиенти, като обработва мегабайти четения и записи в секунда
- Scalable: Данните са разделени и рационализирани върху клъстер от машини, за да се активират по-големи данни
- Надеждна: Съобщенията са постоянни и се репликират в рамките на клъстера, за да се предотврати загуба на данни
- Разпространено по дизайн: Осигурява гаранции за устойчивост на грешки и издръжливост
4) Споменете какво е значението на брокер в Кафка?
В клъстер Kafka терминът брокер се използва за обозначаване на сървър.
5) Споменете какъв е максималният размер на съобщението, което Kafka сървърът може да получи?
Максималният размер на съобщението, което Kafka сървърът може да получи, е 1000000 байта.
6) Обяснете какво е Zookeeper в Кафка? Можем ли да използваме Kafka без Zookeeper?
Zookeeper е високопроизводителна услуга за координация с отворен код, използвана за разпределени приложения, адаптирани от Kafka. Не, не е възможно да преминете през Zookeeper и да се свържете направо с брокера Kafka. След като Zookeeper не работи, той не може да обслужва клиентска заявка.
- Zookeeper основно се използва за комуникация между различни възли в клъстер
- В Kafka се използва за извършване на изместване, така че ако възелът се провали във всеки случай, той може да бъде извлечен от предварително извършеното изместване
- Освен това той извършва и други дейности като откриване на лидер, разпределена синхронизация, управление на конфигурацията, идентифицира кога нов възел напуска или се присъединява, клъстера, състоянието на възела в реално време и т.н.
7) Обяснете как съобщението се консумира от потребителя в Kafka?
Прехвърлянето на съобщения в Kafka се извършва с помощта на sendfile API. Той позволява прехвърлянето на байтове от гнездото към диска чрез копия на ядрото, спестяващи място, и извикване между потребителя на ядрото обратно към ядрото.
8) Обяснете как можете да подобрите пропускателната способност на отдалечен потребител?
Ако потребителят се намира в център за данни, различен от брокера, може да поискате да настроите размера на буфера на сокета, за да амортизирате дългото забавяне на мрежата.
9) Обяснете как можете да получите точно веднъж съобщение от Kafka по време на производството на данни?
По време на данни, производство, за да получите точно веднъж съобщение от Kafka, трябва да следвате две неща избягване на дублиране по време на консумация на данни намлява избягване на дублиране по време на производството на данни. Ето двата начина да получите точно една семантика при производството на данни:
- Възползвайте се от един писател на дял, всеки път, когато получите мрежова грешка, проверява последното съобщение в този дял, за да види дали последният ви запис е успешен
- В съобщението включете първичен ключ (UUID или нещо подобно) и премахнете дубликата на потребителя
10) Обяснете как можете да намалите оттеглянето в ISR? Кога брокерът напуска ISR?
ISR е набор от реплики на съобщения, които са напълно синхронизирани с лидерите, с други думи ISR има всички съобщения, които са ангажирани. ISR винаги трябва да включва всички реплики, докато не настъпи реална повреда. Реплика ще отпадне от ISR, ако се отклони от лидера.
11) Защо се изисква репликация в Kafka?
Репликацията на съобщение в Kafka гарантира, че всяко публикувано съобщение не се губи и може да се използва в случай на машинна грешка, програмна грешка или по-често срещани софтуерни надстройки.
12) Какво означава, ако репликата остане извън ISR за дълго време?
Ако реплика остане извън ISR за продължително време, това показва, че последователят не е в състояние да извлече данни толкова бързо, колкото данните, натрупани при лидера.
13) Споменете какво се случва, ако предпочитаната реплика не е в ISR?
Ако предпочитаната реплика не е в ISR, контролерът няма да успее да се премести ръководство към предпочитаната реплика.
14) Възможно ли е да получите изместване на съобщението след производството?
Не можете да направите това от клас, който се държи като производител, както в повечето системи за опашки, неговата роля е да задейства и забравя съобщенията. Брокерът ще свърши останалата част от работата като подходящо обработване на метаданни с идентификатори, отмествания и т.н. Като потребител на съобщението можете да получите отместването от брокер на Kafka. Ако се вгледате в SimpleConsumer клас, ще забележите, че извлича MultiFetchResponse обекти, които включват отмествания като списък. В допълнение към това, когато повтаряте съобщението на Кафка, ще имате MessageAndOffset обекти, които включват както отместването, така и изпратеното съобщение.
Тези въпроси за интервюто също ще ви помогнат във вашата viva (устна)