Вернуться в каталог собеседований

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

Кандидат решает архитектурный кейс по созданию криптобиржи и отвечает на вопросы по backend-разработке. Собеседники разбирают торговые ордера, доменные области, очереди, хранение валют, микросервисы, подписки и надёжность сервисов.

Отсобеседование
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 14,9 тыс.
  • Лайки на YouTube: 380
Открыть на YouTube

Таймлайн

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

Это техническое мок-собеседование Senior Backend-разработчика в формате совместного проектирования криптобиржи. После знакомства интервьюеры задают предметную область: кошельки, валютные пары, ордера на покупку и продажу. Кандидат предлагает структуру API, выделяет доменные области и рассуждает о том, как упорядочивать и масштабировать обработку ордеров через очереди и разделение по валютным парам. Далее обсуждаются практические архитектурные решения: SOLID, хранение денежных значений без float, временные ряды цен, метрики, отделение кошельков и балансов от монолита, уведомления и подписки на изменения курса. В финале разговор переходит к устойчивости сервисов, проектированию API и спору о TDD и тестах. Интервьюеры уточняют решения и вместе с кандидатом проверяют компромиссы.

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

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

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

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