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

System design-интервью Backend-разработчика: корпоративный чат

Кандидат проектирует внутренний чат: формулирует требования, выбирает постоянное соединение и рассуждает о хранилище сообщений, индексах и чтениях. Интервьюер задаёт уточняющие вопросы и проверяет ход проектирования.

Источник: ШОРТКАТ — менторская программа

Открыть на YouTube

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

Видео показывает system design-секцию технического интервью, которую ведёт backend-разработчик из команды авторизации Avito. Кандидату предлагают спроектировать внутренний корпоративный мессенджер, когда готовые решения не подходят. Интервьюер просит начать с уточняющих вопросов и фиксирует требования. Затем стороны обсуждают протокол связи: кандидат предлагает постоянное двустороннее соединение через WebSocket и предполагает отдельную инфраструктуру для множества подключений. В хранилище сообщений интервьюер уточняет потребность в индексе, виды индексов и различие между нагрузкой на чтение и запись. Финальный архитектурный блок проходит через пользовательский путь открытия списка чатов, кэширование, непрочитанные сообщения и выбор базы данных. Несмотря на рекламный финал, основная часть — содержательный разбор проекта.

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

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

  • System design начинается с требований и границ задачи, а не с выбора технологий.
  • Для чата с двусторонними событиями нужен протокол постоянного соединения, например WebSocket.
  • Индекс выбирают под реальные запросы и структуру доступа, а не абстрактно.
  • Архитектура чата должна учитывать преобладание чтений, список диалогов и счётчики непрочитанного.
  • Нужно проговаривать пользовательский путь, чтобы определить нужные кэши и данные экрана.

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