Чему вы научитесь
Разберите три темы, на которых держится секция системного дизайна уровня Senior: требования и оценку нагрузки, масштабирование данных, надёжность при повторах. Для каждого решения вы назовёте размен — что выигрываете и чем платите — и число, при котором решение перестаёт работать.
- 18 вопросов с пояснением к каждому варианту; первые четыре показывают, с какой темы начать.
- Три задачи с автопроверкой на Python, Java или Go: кольцо консистентного хеширования с виртуальными узлами, идемпотентный обработчик доставок at-least-once и ограничитель скорости на двух корзинах жетонов.
- Итоговая мини-секция с новой задачей и пятью вопросами.
- Полные решения на трёх языках с доказательством свойств и чек-лист для повторения.
Сквозной пример — сервис продажи билетов с пиком открытия продаж. Вопросы не привязаны к языку, код в них записан псевдокодом. Ориентир — 2–2,5 часа, включая практику.
О курсе
Оценка нагрузки, шардирование и консистентное хеширование, репликация, идемпотентность и ограничение скорости: 18 вопросов с пояснениями и три задачи с автопроверкой на Python, Java или Go. Входная диагностика покажет, какие темы повторить перед секцией системного дизайна.
Для кого этот курс
Senior-разработчик любого стека, который готовится к секции системного дизайна и хочет обосновывать решения числами и разменами.
Начальные требования
Опыт бэкенд-разработки: базы данных, HTTP, брокеры сообщений. Для задач — Python 3.12, Java 17 или Go.
Преподаватели курса
Формат курса
Два модуля: текст, расчёты, 18 вопросов и три программные задачи с выбором языка. Без видео.
Нагрузка
2–2,5 часа, включая практику