Здравейте на всички, тъй като вече всички знаем, че докато разработваме приложения е важно да изпращаме съобщения от една услуга към друга, имаме нужда от платформа, която може да ни помогне при прехвърлянето на данни от една система в друга.
Така че за този вид съобщения имаме различни системи за съобщения като
- Кафка
- RabbitMQ
- ActiveMQ
- ZMQ
Има малко разлики между всички тях, но най-често използваният инструмент е KAFKA, затова дори в интервютата за дизайн има много въпроси, свързани с Kafka.
Споделям някои най-често задавани въпроси за интервюто с Кафка, с които съм се сблъсквал по време на интервюта.
- Какво е Кафка, защо го използваме?
- Обяснете някои ключови характеристики на Кафка?
- Какви са темите и дяловете в Кафка?
- Какво представляват производител, потребител и група потребители?
- Как Kafka разпределя натоварването между различни дялове?
- Колко потребители можем да имаме, ако консумираме от една тема?
- Какво е Lag?
- Какво причинява забавянето и как можем да го поправим?
- Как можем да подобрим производителността, ако имаме ограничен брой потребители?
- Какво е Брокер или Кафка Брокер?
- Какво се разбира под толерантност към грешки? Как Кафка се справя с провалите?
- Защо броят на потребителите като цяло е нечетен?
- Обяснете някои случаи на употреба на Kafka?
- Разлика между Kafka и RabbitMQ?
- Какъв е факторът на репликация в Кафка?
- Какво е offSet?
- Какво е zookeeper и как работи?
- Как Kafka помага при разработването на приложения, базирани на микросервизи?
- Какъв е алгоритъмът за избор на Лидер?
- Как се случва балансирането на натоварването в Kafka?
Освен да подготвите горните въпроси, опитайте се да работите върху някои проекти, които използват Kafka, това ще ви помогне да го разберете по-добре.
Скоро ще споделя отговорите.
Ако имате някакви съмнения, уведомете ме в коментарите по-долу.
Продължавайте да четете и приятно интервюиране!!!
Ако ви харесва моето съдържание, последвайте ме в Medium и Linkedin