Подготовка к собеседованию Senior: системный дизайн

Оценка нагрузки, шардирование и консистентное хеширование, репликация, идемпотентность и ограничение скорости: 18 вопросов с пояснениями и три задачи с автопроверкой на Python, Java или Go. Входная диагностика покажет, какие темы повторить перед секцией системного дизайна.
2–2,5 часа, включая практику

О курсе

Разберите три темы, на которых держится секция системного дизайна уровня Senior: требования и оценку нагрузки, масштабирование данных, надёжность при повторах. Для каждого решения вы назовёте размен — что выигрываете и чем платите — и число, при котором решение перестаёт работать.

  • 18 вопросов с пояснением к каждому варианту; первые четыре показывают, с какой темы начать.
  • Три задачи с автопроверкой на Python, Java или Go: кольцо консистентного хеширования с виртуальными узлами, идемпотентный обработчик доставок at-least-once и ограничитель скорости на двух корзинах жетонов.
  • Итоговая мини-секция с новой задачей и пятью вопросами.
  • Полные решения на трёх языках с доказательством свойств и чек-лист для повторения.

Сквозной пример — сервис продажи билетов с пиком открытия продаж. Вопросы не привязаны к языку, код в них записан псевдокодом. Ориентир — 2–2,5 часа, включая практику.

Для кого этот курс

Senior-разработчик любого стека, который готовится к секции системного дизайна и хочет обосновывать решения числами и разменами.

Начальные требования

Опыт бэкенд-разработки: базы данных, HTTP, брокеры сообщений. Для задач — Python 3.12, Java 17 или Go.

Программа курса

В курс входят

  • 10 уроков
  • 18 тестов
  • 3 интерактивные задачи
загружаем...

Наши преподаватели

Сколько стоит обучение

Бесплатно

Расскажите о курсе друзьям

Бесплатно