Мок-собеседование по System Design для Backend Engineer
System design-интервью о проектировании высоконагруженного сервиса: требования, регионы, сервисы, Kafka и transactional outbox.
- Опубликовано на YouTube:
- Просмотры на YouTube: 3,1 тыс.
- Лайки на YouTube: 30
Коротко о видео
В публичной записи кандидат проходит секцию system design с backend-интервьюером. После представления участников интервьюер предлагает практическую задачу и просит начать с вопросов к требованиям. Кандидат уточняет географию сервиса и ожидаемое поведение, а интервьюер направляет его к нефункциональным требованиям. Дальше они обсуждают декомпозицию на сервисы, паттерн нагрузки, хранилища и доставку событий. На примере публикации в Kafka участники разбирают рассинхронизацию между записью в базу и отправкой сообщения, после чего кандидат называет transactional outbox. В финале интервьюер даёт развёрнутый фидбэк; затем начинаются вопросы зрителей.
Затронутые темы
Что взять на заметку
- Начинать system design с функциональных и измеримых нефункциональных требований.
- Уточнять регион, объём и характер нагрузки, размеры медиафайлов и границы системы.
- Не декомпозировать сервисы до понимания потребностей, их ответственности и связей.
- В transactional outbox записывать изменение в БД и запись для последующей публикации в Kafka в одной транзакции; событие затем отправляет отдельный воркер.