Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Какие технологии и инструменты применяются при работе с контейнерами, брокерами сообщений и нагрузочным тестированием (например, Docker, Kafka, JMeter)?
Для контейнеризации часто используется Docker, позволяющий изолировать окружения и быстро разворачивать стенды.
Брокеры сообщений, такие как Kafka или RabbitMQ, применяются для тестирования очередей и асинхронных взаимодействий.
Для нагрузочного тестирования популярны JMeter, Gatling и Locust, позволяющие моделировать большое количество пользователей и проверять устойчивость системы.
Какие подходы применяются при тестировании взаимодействия микросервисов через брокер сообщений (например, Kafka)?
Используются контрактные тесты, мок-брокеры, консюмер-тесты, логирование сообщений, replay-тесты и idempotency проверки. Тестирование охватывает both ends: publisher и consumer.
Какие способы взаимодействия между микросервисами существуют и в чём их различия (например, REST, Kafka)?
Микросервисы могут взаимодействовать синхронно через REST API (HTTP-запросы) или асинхронно через системы обмена сообщениями, например Kafka. REST удобен для простых запросов с немедленным ответом, а Kafka — для обработки больших потоков данных и событий с высокой надёжностью и масштабируемостью.
Для чего используют брокеры сообщений такие как RabbitMQ и Kafka? В чём их отличия?
Брокеры сообщений, такие как RabbitMQ и Kafka, используются для асинхронной передачи данных между системами. RabbitMQ работает с очередями сообщений для точечной доставки, а Kafka — с потоками событий для обработки больших объёмов данных. RabbitMQ проще для небольших систем, Kafka — для высоконагруженных.
В чём отличие Kafka от RabbitMQ?
Kafka - это распределённый журнал событий, оптимизированный для высокой пропускной способности и долгосрочного хранения. RabbitMQ - классический брокер сообщений с поддержкой сложных маршрутизаций. Kafka лучше подходит для потоковой обработки данных, а RabbitMQ - для задач, требующих гибкой маршрутизации сообщений.
Чем асинхронное взаимодействие через Kafka отличается от синхронного через REST API?
Как Kafka обеспечивает отказоустойчивость (репликация, кластеризация)?
Как работает асинхронное взаимодействие сервисов через Kafka?
Что такое топики и как они используются в Kafka?
Как обеспечивается гарантия доставки сообщений в Kafka?
Рейтинг:
2
Сложность:
6
REST API — синхронный запрос/ответ, клиент ждёт ответа от сервера и блокируется. Kafka — асинхронная передача сообщений: продюсер отправляет событие и продолжает работу, потребитель читает в своём темпе. Асинхронность снижает связанность и повышает отказоустойчивость.
Рейтинг:
2
Сложность:
6
Kafka создаёт кластер из брокеров, где каждая партиция имеет лидера и реплики. Реплики хранят идентичные данные и синхронизируются с лидером. При падении лидера одна из синхронных реплик автоматически становится новым лидером, сохраняя доступность.
Рейтинг:
2
Сложность:
4
Сервисы публикуют события в топики Kafka, а другие подписываются на нужные топики и обрабатывают сообщения асинхронно. Это обеспечивает слабую связанность, масштабируемость и устойчивость: сервис-отправитель не ждёт ответа, а потребитель читает из топика в своём темпе.
Рейтинг:
2
Сложность:
5
Топик — логическая категория сообщений в Kafka. Продюсеры отправляют сообщения в топики, а консюмеры читают из топиков, при этом данные внутри топика разбиваются на партиции для масштабирования и параллелизма.
Рейтинг:
2
Сложность:
5
Гарантия доставки достигается за счёт параметров acks у продюсера (0, 1 или all), записи в журнал (log) и репликации партиций. При acks=all продюсер ждёт подтверждения от всех ISR-реплик прежде чем считать сообщение доставленным.
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6