Вернуться в видеотеку

Собеседование Senior Backend-разработчика по Event Sourcing

Мок-собеседование на Senior Backend-разработчика: кандидат и интервьюер подробно обсуждают Event Sourcing и CQRS на примере интернет-магазина. Разговор охватывает проекции и снапшоты, Event Store, очереди, обработку повторной доставки, фильтрацию и стриминг событий, версионирование и command handlers.

Источник: Отсобеседование

Открыть на YouTube

Таймлайн

Коротко о видео

Ведущий проводит специализированное техническое интервью Senior Backend-разработчика по Event Sourcing. Кандидат начинает с определения подхода и обсуждает, как из потока событий строятся новые проекции. Затем интервьюер предлагает пример интернет-магазина и уточняет, где хранить события, как восстанавливать состояние и когда использовать snapshotting. Значительная часть разговора посвящена отличию Event Store от очереди, идемпотентности обработчиков, повторной доставке и фильтрации потоков. Участники разбирают стриминг событий во внешние системы, версионирование событий и миграции, размер Event Store со временем, пропуски событий при деплое и command handlers. В финале они обсуждают, для каких предметных областей Event Sourcing подходит, а где его сложность не оправдана.

Затронутые темы

Что взять на заметку

  • Проекция позволяет восстановить удобное для чтения представление состояния из потока событий.
  • Snapshotting уменьшает стоимость восстановления агрегата, но требует согласованной стратегии обновления.
  • Event Store и очередь решают разные задачи; повторная доставка требует идемпотентной обработки.
  • Версионирование событий лучше проектировать как эволюцию схемы с обработкой старых и новых вариантов.
  • При миграции всего потока событий необходимо учитывать рост сложности кода и совместимость обработчиков.
  • Event Sourcing оправдан, когда история изменений важна для предметной области, а не как универсальная замена CRUD.

Рекомендуем посмотреть