Собеседование Senior Backend-разработчика: проектирование криптобиржи
Кандидат решает архитектурный кейс по созданию криптобиржи и отвечает на вопросы по backend-разработке. Собеседники разбирают торговые ордера, доменные области, очереди, хранение валют, микросервисы, подписки и надёжность сервисов.
- Опубликовано на YouTube:
- Просмотры на YouTube: 14,9 тыс.
- Лайки на YouTube: 380
Таймлайн
Коротко о видео
Это техническое мок-собеседование Senior Backend-разработчика в формате совместного проектирования криптобиржи. После знакомства интервьюеры задают предметную область: кошельки, валютные пары, ордера на покупку и продажу. Кандидат предлагает структуру API, выделяет доменные области и рассуждает о том, как упорядочивать и масштабировать обработку ордеров через очереди и разделение по валютным парам. Далее обсуждаются практические архитектурные решения: SOLID, хранение денежных значений без float, временные ряды цен, метрики, отделение кошельков и балансов от монолита, уведомления и подписки на изменения курса. В финале разговор переходит к устойчивости сервисов, проектированию API и спору о TDD и тестах. Интервьюеры уточняют решения и вместе с кандидатом проверяют компромиссы.
Затронутые темы
Что взять на заметку
- Для торговой системы сначала нужно выделить доменные сущности: кошельки, валютные пары, ордера и сделки.
- Денежные значения и курсы не следует хранить в float из-за ошибок точности.
- Обработку большого потока ордеров можно масштабировать очередями и разделением по валютным парам, сохраняя правила справедливого исполнения.
- Для метрик и истории цен полезно рассматривать специализированные хранилища временных рядов и требования к точности данных.
- При выделении сервиса из монолита важно заранее определить его данные, границы ответственности и способ доставки событий.
- Тесты должны подтверждать важное поведение системы; их уровень и объём зависят от характера кода и риска изменений.