Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
Testing
Git
CI/CD
Python
Docker
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на QA Engineer в телеграм
Как обеспечивается гарантия доставки сообщений в Kafka?
Гарантия доставки достигается за счёт параметров acks у продюсера (0, 1 или all), записи в журнал (log) и репликации партиций. При acks=all продюсер ждёт подтверждения от всех ISR-реплик прежде чем считать сообщение доставленным.
Что такое топики и как они используются в Kafka?
Топик — логическая категория сообщений в Kafka. Продюсеры отправляют сообщения в топики, а консюмеры читают из топиков, при этом данные внутри топика разбиваются на партиции для масштабирования и параллелизма.
Как работает асинхронное взаимодействие сервисов через Kafka?
Сервисы публикуют события в топики Kafka, а другие подписываются на нужные топики и обрабатывают сообщения асинхронно. Это обеспечивает слабую связанность, масштабируемость и устойчивость: сервис-отправитель не ждёт ответа, а потребитель читает из топика в своём темпе.
Что такое топики (topics) и как они используются?
Топик — это именованный логический канал для сообщений в Kafka. Продюсеры отправляют данные в определённый топик, а консюмеры подписываются на топики, чтобы получать сообщения. Топики разбиваются на партиции для масштабирования и упорядоченного хранения.
Как Kafka обеспечивает отказоустойчивость (репликация, кластеризация)?
Kafka создаёт кластер из брокеров, где каждая партиция имеет лидера и реплики. Реплики хранят идентичные данные и синхронизируются с лидером. При падении лидера одна из синхронных реплик автоматически становится новым лидером, сохраняя доступность.
Чем асинхронное взаимодействие через Kafka отличается от синхронного через REST API?
Какие технологии и инструменты применяются при работе с контейнерами, брокерами сообщений и нагрузочным тестированием (например, Docker, Kafka, JMeter)?
Как микросервисы взаимодействуют между собой (REST, RabbitMQ, Kafka, gRPC)?
Как масштабируется Kafka?
Сколько консьюмеров в одной группе могут читать из одной партиции? Почему?
Рейтинг:
2
Сложность:
6
REST API — синхронный запрос/ответ, клиент ждёт ответа от сервера и блокируется. Kafka — асинхронная передача сообщений: продюсер отправляет событие и продолжает работу, потребитель читает в своём темпе. Асинхронность снижает связанность и повышает отказоустойчивость.
Рейтинг:
2
Сложность:
6
Для контейнеризации часто используется Docker, позволяющий изолировать окружения и быстро разворачивать стенды.
Брокеры сообщений, такие как Kafka или RabbitMQ, применяются для тестирования очередей и асинхронных взаимодействий.
Для нагрузочного тестирования популярны JMeter, Gatling и Locust, позволяющие моделировать большое количество пользователей и проверять устойчивость системы.
Рейтинг:
2
Сложность:
5
Микросервисы могут общаться синхронно (REST, gRPC) через HTTP/gRPC‑вызовы или асинхронно (RabbitMQ, Kafka) через очереди и топики. Выбор зависит от требований к задержке, надёжности и согласованности данных.
Рейтинг:
2
Сложность:
7
Kafka масштабируется горизонтально путем добавления новых серверов (брокеров) в кластер. Основные механизмы масштабирования — это разделение топиков на партиции, которые можно распределять по разным брокерам, и увеличение числа потребительских групп для обработки сообщений. Это позволяет наращивать пропускную способность и отказоустойчивость.
Рейтинг:
2
Сложность:
7
Из одной партиции может читать ровно один потребитель (consumer) из данной потребительской группы (consumer group). Это фундаментальное правило Kafka, необходимое для гарантии порядка обработки сообщений в пределах одной партиции. Если потребителей в группе больше, чем партиций, «лишние» потребители будут простаивать.
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
4
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6