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



Made on
Tilda