Вопросы для интервью Event Driven Architecture (EDA)
1. Общие вопросы про Event-Driven архитектуру
Что такое
Event-Driven архитектура (EDA)
и какие проблемы она решает?
Назовите ключевые компоненты Event-Driven системы.
Чем Event-Driven архитектура отличается от классической Request-Response архитектуры?
Какие преимущества и недостатки у Event-Driven архитектуры?
Приведите примеры приложений или бизнес-кейсов, для которых Event-Driven архитектура наиболее эффективна.
📌
2. События (Events)
Что такое событие (event)? Дайте примеры событий в реальных приложениях.
Чем событие (event) отличается от команды (command) и запроса (request)?
Что такое Event Notification, Event-Carried State Transfer и Event Sourcing? В чём их различие?
Как обеспечить надежную доставку событий в Event-Driven системах?
📌
3. Event Sourcing
Что такое Event Sourcing и для чего он используется?
Каковы преимущества и недостатки Event Sourcing?
Как вы организуете хранение и обработку событий при использовании Event Sourcing?
Как в Event Sourcing организован процесс восстановления состояния системы из событий?
📌
4. CQRS (Command Query Responsibility Segregation)
Что такое CQRS, и почему он часто используется совместно с Event-Driven архитектурой?
Какие преимущества и сложности есть при использовании CQRS?
Как CQRS помогает масштабировать приложения?
📌
5. Паттерны и интеграция
Какие основные паттерны проектирования используются в Event-Driven системах?
Что такое Publish/Subscribe (pub-sub) модель? Приведите пример реализации.
Чем брокер сообщений (message broker) отличается от событийного журнала (event log)?
Как интегрировать Event-Driven архитектуру с legacy-системами?
📌
6. Технологии и инструменты
Какие технологии и инструменты используются для реализации Event-Driven архитектуры?
Почему Apache Kafka часто выбирают в качестве брокера сообщений для EDA?
Чем Kafka отличается от RabbitMQ или других очередей сообщений (message queues)?
Как выбрать подходящий инструмент (Kafka, RabbitMQ, AWS Kinesis и др.) для конкретной задачи?
📌
7. Надёжность и доставка событий
Какие бывают подходы к доставке сообщений: Exactly-once, At-least-once и At-most-once?
Какие методы вы используете, чтобы гарантировать обработку каждого события?
Как обрабатывать повторные сообщения (повторы событий) в Event-Driven системах?
📌
8. Производительность и масштабируемость
Как организовать масштабирование Event-Driven приложений?
Какие проблемы производительности могут возникнуть в Event-Driven архитектурах и как их решать?
Как минимизировать задержку (latency) обработки событий?
📌
9. Мониторинг, логирование и отладка
Как организовать мониторинг в Event-Driven системах?
Какие метрики необходимо отслеживать при работе с потоками событий?
Как вести логирование событий, чтобы эффективно диагностировать проблемы?
Каковы лучшие практики отладки Event-Driven приложений?
📌
10. Безопасность и управление доступом
Как обеспечивать безопасность и разграничение доступа в Event-Driven архитектурах?
Какие подходы используются для защиты и шифрования событийных потоков?
Какие риски безопасности могут возникнуть при использовании событийных систем?
📌
11. Реализация и практический опыт
Опишите, какие проблемы вы решали с помощью Event-Driven архитектуры на практике.
Какие были ключевые ошибки или сложности при внедрении Event-Driven подхода в вашем опыте?
Как вы выбираете границы доменов и контекстов при проектировании Event-Driven систем?
Главная
Назад
Как принимать архитектурные решения
Начало статьи
Made on
Tilda