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

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

Кандидат рассказывает о сервисе электронной очереди и отвечает на вопросы о rich domain models, конкурентном доступе к состоянию и чистых функциях. Во второй части он моделирует сервис заказов и оплаты с событиями, Saga и компенсациями, затем обсуждает микросервисы и тестирование.

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

Открыть на YouTube

Таймлайн

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

Ведущий проводит широкое техническое интервью Senior Backend-разработчика с опытом C#-разработки. Кандидат рассказывает о системе электронной очереди, после чего участники обсуждают шаблоны, анемичные и богатые доменные модели, неизменяемость данных и управление общим состоянием. На примере большой машины состояния они рассматривают конкурентный доступ и возможность вынести состояние во внешнее хранилище. Затем интервьюер предлагает смоделировать интернет-магазин с заказом и оплатой: кандидат описывает события, шину сообщений, сервис оплаты и Saga с компенсационными действиями. В заключении затрагиваются мониторинг, DNS и сетевой путь запроса, монолиты и микросервисы, откаты на проде, тестирование домена и обработка исключительных ситуаций.

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

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

  • Богатая доменная модель концентрирует инварианты и поведение рядом с данными предметной области.
  • Общее изменяемое состояние ограничивает масштабирование; его можно вынести во внешнее хранилище с контролем доступа.
  • Saga координирует распределённый процесс через события и компенсации, но компенсация тоже требует обработки сбоев и повторов.
  • Событийная архитектура требует продумывать границы сервисов, шину сообщений и наблюдаемость.
  • Перед крупной миграцией данных и схем нужно заранее планировать совместимость, резервное копирование и откат.
  • Тестирование чистого доменного слоя проще, когда бизнес-правила не смешаны с инфраструктурой.

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