Скачать Системный дизайн [Тариф Стандартный] [Хекслет] [Виталий Лихачев, Кирилл Мокевнин]

Джокер

Администратор
Регистрация
1 Янв 2015
Сообщения
155.143
Реакции
80.130
Складчина: Системный дизайн [Тариф Стандартный] [Хекслет] [Виталий Лихачев, Кирилл Мокевнин]



При росте сервиса разработчику приходится учитывать не только число запросов, но и возможные отказы зависимостей и целых зон доступности. С курсом Хекслета вы разберётесь, как рассчитывать нагрузку, выбирать хранилища и проектировать поведение системы при отказах на примере сервиса такси.

На секции System design разработчику дают открытую задачу и оценивают, как он уточняет требования и защищает архитектурные решения. Курс Хекслета поможет подготовиться к такому собеседованию: вы научитесь оценивать нагрузку, выбирать решения с учётом ограничений и объяснять свои компромиссы.

Спроектируете сервис такси и доведёте его от одного сервера до платформы в нескольких регионах
Научитесь обосновывать архитектуру цифрами: RPS, объём данных, пиковый профиль
Пройдёте секцию System design. Отдельный модуль про критерии оценки на собеседовании
Продакшен-подход к проектированию систем. Навык, нужный программисту в 2026 году. Подготовка к секции System design.

Системный дизайн: ключевой навык для роста разработчика:

Понимание системного дизайна нужно, чтобы проектировать сервисы под нагрузку, обосновывать решения на ревью, проходить собеседования и обсуждать повышение.

Что происходит в 2026 году в разработке?

ИИ ускоряет написание кода, облачные сервисы упрощают запуск. Решения о нагрузке, данных и отказах остаются на разработчиках. Системный дизайн помогает увидеть их последствия до продакшена.

Работодателям нужны разработчики, которые умеют:

Оценивать нагрузку и объём данных
Выбирать архитектуру под требования системы
Проектировать взаимодействие сервисов
Учитывать узкие места и сценарии отказа
Обосновывать решения и компромиссы на ревью
Системный дизайн показывает, что разработчик умеет видеть систему целиком и готов к задачам следующего грейда. Этот навык проверяют на технических собеседованиях и учитывают при обсуждении повышения.

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

Кому подойдет курс:

Разработчикам уровня middle и middle+
Разберётесь, как проектировать систему целиком: рассчитывать нагрузку, выбирать хранилища, учитывать сценарии отказа и обосновывать архитектурные решения на ревью
Тимлидам и техлидам
Сможете проводить дизайн ревью, оценивать архитектурные риски и планировать развитие системы при росте нагрузки
Разработчикам перед собеседованием
Разберётесь в критериях секции System design, научитесь структурировать решение и защищать архитектурные компромиссы
Как проходит обучение на курсе по системному дизайну:

Вы разбираете каждое архитектурное решение на сквозном кейсе сервиса такси и выполняете практические задания. Каждый этап закрывается проектом: за курс их четыре.





Спойлер: Часто задаваемые вопросы
1. Как проходит обучение на курсе?

Вы разбираете каждое архитектурное решение на сквозном кейсе сервиса такси и выполняете практические задания. Программа состоит из пяти модулей и 54 уроков, система в них растёт от одного сервера до платформы в нескольких регионах.

2. Нужен ли опыт коммерческой разработки?

Да, курс рассчитан на действующих разработчиков. Нужен опыт коммерческой разработки и понимание того, как устроены базы данных, HTTP и деплой. Язык и стек значения не имеют: программа посвящена архитектурным решениям и их последствиям, поэтому подходит backend, frontend и fullstack-разработчикам, тимлидам, техлидам и инженерам, отвечающим за надёжность.

3. Поможет ли курс пройти секцию System design на собеседовании?

Да, этому посвящён отдельный, пятый модуль программы. В нём разбирается устройство секции: этапы и распределение времени, критерии оценки, уточнение требований и границ задачи, расчёт нагрузки, сборка high-level design, выбор deep dive под главный риск и защита компромиссов. Ведёт курс Виталий Лихачев, SRE-инженер, который сам проводит такие секции на собеседованиях.

4. Что я смогу делать после курса?

После курса вы сможете оценивать нагрузку и объём данных до выбора технологий, находить узкое место системы по симптомам, выбирать между репликацией, шардированием, кэшем и очередью по цифрам задачи, проектировать поведение системы при отказе зависимости или целой зоны, планировать безопасные миграции и защищать архитектурные решения перед командой и на собеседовании.

5. Нужно ли знать математику и алгоритмы для системного дизайна?

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

6. Как проходит секция System design на собеседовании?

На секции дают открытую задачу на проектирование системы и оценивают ход решения: как вы уточняете требования и границы задачи, считаете нагрузку, собираете high-level design, проектируете API и модель данных, выбираете тему для deep dive и защищаете компромиссы. Этим этапам посвящён пятый модуль курса. Итог модуля — готовое решение System design задачи и план его презентации на собеседовании.

7. Хватит ли для подготовки книги Алекса Сюя «System Design. Подготовка к сложному интервью»?

Книга разбирает типовые задачи с готовыми решениями. На курсе вы проектируете систему сами: сервис такси растёт от одного сервера до платформы в нескольких регионах, и на каждом этапе вы считаете нагрузку и обосновываете выбор цифрами.

8. Сколько длится курс и как часто проходят занятия?

Курс длится 5 месяцев. Каждый этап закрывается проектом, всего их четыре.

9. Какой проект будет в портфолио?

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

Программа обновлена в сентябре 2026.

Программа:

Монолитное приложение:

Спроектируете первую версию сервиса такси и разберётесь, где находится реальный предел одного сервера. Подготовите монолит к росту нагрузки.

Работа сервера: CPU, память, процессы, потоки, сеть и системные лимиты
Требования и оценка нагрузки: DAU, RPS, пики и объём данных
Первая архитектура, модель поездки, транзакции и уровни изоляции
Индексы, планы запросов, нагрузочное тестирование и поиск узких мест
Горизонтальное масштабирование, балансировка, кэш и реплики
Выбор хранилищ, геопоиск, полнотекстовый поиск, конфигурация и секреты
Результат: масштабируемый монолит сервиса такси, рассчитанный на рост нагрузки.

События и стриминг:

Добавите в сервис такси событийный контур, обработку координат в реальном времени и отдельную систему аналитики.

Доменные события и контракты, надёжная публикация через transactional outbox и CDC
Очередь и распределённый журнал: партиции, порядок, consumer groups, offset и replay
Гарантии доставки, идемпотентность и обработка ошибок через dead-letter queue
Поток координат: event time, окна, watermarks и опоздавшие события
Пересчёт ETA и динамического тарифа, потоковые представления
Аналитический контур и вебхуки для внешних систем: подпись запроса, retries, backoff
Результат: событийный контур, поток координат и аналитика сервиса такси.

Распределённая система:

Разделите монолит на сервисы, распределите данные и подготовите приложение к работе в нескольких зонах доступности.

Границы сервисов и владение данными
API Gateway и внешние контракты
Межсервисное взаимодействие
Сеть и частичные отказы
Модели согласованности
Репликация данных
Кворумы и конфликты записи
Партиционирование данных
Распределённые транзакции и SAGA
Service discovery и внутренний DNS
Зоны доступности
Результат: мультисервисное приложение такси, работающее в нескольких зонах доступности.

Глобальная система:

Запустите сервис такси в нескольких регионах и спроектируете глобальную маршрутизацию, отказоустойчивость и безопасность.

Глобальная маршрутизация
CDN и edge кэширование
Мультирегиональные данные
Мультирегиональный событийный контур
Timeouts, deadlines и retries
Rate limiting и load shedding
Каскадные отказы и graceful degradation
Disaster recovery
Наблюдаемость и управление инцидентами
Безопасные изменения и миграции
Модель угроз и границы доверия
Пользовательские и сервисные identity
Защита чувствительных данных
Результат: глобальная маршрутизация, надёжность и безопасность сервиса такси.

System design интервью:

Перенесёте архитектурный подход на новые задачи и подготовитесь к прохождению секции System design.

Устройство секции и критерии оценки
Уточнение требований
Оценка нагрузки
High level design
Проектирование API и модели данных
Архетипы систем
Выбор deep dive
Презентация решения и защита компромиссов
Результат: готовое решение System design задачи и понятный план его презентации на собеседовании.

Авторы:

Кирилл Мокевнин

18 лет в коммерческой разработке
10+ лет обучает программированию
Более 30 выступлений на конференциях, митапах, подкастах
Сооснователь Хекслета
Разработчик
Хекслет: сооснователь и автор курсов, web-разработчик
undev: VP of Engineering
Skype: Software Engineer
Виталий Лихачев

10+ лет опыта в инженерии: бэкенд, фронтенд, devOps, SRE
44 доклада на митапах и конференциях
4 курса для крупных IT-школ
SRE, System Design, разработка
Сейчас: Нидерланды, SRE в международном тревел-сервисе
Avito Tech: старший разработчик платформы авторизации
EPAM: разработчик системы управления складами
Тариф Стандартный

Материалы пяти модулей и 54 уроков
Практические задания
Четыре проекта
Старт 16 ноября.

Цена 45000 руб.




СКАЧАТЬ СЛИВЫ КУРСОВ
 

Возможно, Вас ещё заинтересует: