System Design:от паники к алгоритму
Научись уверенно проходить секцию System Design и повысь свои шансы на трудоустройство в бигтех или повышение грейда до сеньора.
Это про тебя, если…
Знакомая ситуация?
Боязно идти на секцию
На System Design даже идти боязно: непонятно, что там вообще спрашивают и по каким правилам оценивают. Проще пока не соваться, вот и откладываешь собес месяцами. А это лишние месяцы на старом грейде и старой зарплате.
На работе не сталкивался полноценно с сисдизом
На работе круды и монолит, highload видел только в статьях. А на собесе просят спроектировать то, что руками не трогал.
Заучил типовые задачи, но если копнут в сторону, начинаешь сыпаться
Заучил теорию, кабанчика, пересмотрел разборы на ютубе, отвечаешь по шаблону. А копнут глубже (а если нагрузка вырастет, если узел упадёт) или дадут незнакомую задачу, и оказывается, что как оно внутри устроено, ты не понимаешь и начинаешь плыть на уточняющих вопросах.
Без понятия, как всё успеть решить
Дают задачу, которую ты вживую никогда не проектировал, и ты не знаешь, за что хвататься, с чего начать, что рисовать, о чём спрашивать. А тебе за 50 минут надо: собрать функциональные и нефункциональные требования, расписать модель данных, спроектировать API, нарисовать схему, поговорить про масштабирование и глубоко разобрать узкие места. И ты в итоге банально можешь не успеть решить задачу.
Нет чёткого понимания, с чего начать
Услышал "спроектируй ленту" и сразу кинулся рисовать базы и сервисы. А через пять минут понял, что не спросил ни про пользователей, ни про нагрузку, ни что вообще важно. А время уже не вернуть.
Почему не получается пройти сисдиз
Кажется, что на System Design валят непонятно за что и всё решает везение: какая попадётся задача и какой интервьюер.
Человеческий фактор тут есть, глупо это отрицать. Задача может попасться неудобная, да и секцию каждый ведёт по-своему: один копает в базы, другой в отказоустойчивость, третий в оценку нагрузки.
Только повлиять на это ты не можешь, а вот на остальное вполне: как разложил задачу, что уточнил на старте, чем обосновал выбор, куда сам увёл разговор.
Ошибок, которых можно было не допускать, набирается прилично. Каждая портит впечатление, а из впечатления и складывается решение по секции.
Самые частые ошибки разобрал в ролике за 8 минут.
Сисдиз проходят не самые умные, а те, у кого есть понятный алгоритм решения и понимание всей необходимой базы.
5 недель. От базовых основ до практических кейсов.
В программу включил всё нужное, чтобы пройти секцию сисдиза.
А в практике сделал упор на популярные системы: их чаще всего и дают на собесах, а внутри каждой столько всего, что на одной задаче применяешь половину курса.
Неделя 01 · уроки 01-12
Алгоритм интервью и первый слой архитектуры
Алгоритм интервью и первый слой архитектуры
К концу недели у тебя есть каркас, по которому раскладывается любая задача, и понимание, с чего вообще начинается проектирование любой системы.
- 01. Как устроено SD-интервью. Три формата секции и как разложить 50-минутный слот.
- 02. Что оценивает интервьюер. Восемь ходов, которые работают в плюс, и что портит впечатление.
- 03. Пять шагов разбора задачи. Что происходит на каждом шаге и какими фразами переходить между ними.
- 04. Уточняющие вопросы. Десять вопросов на старте и пять тем, которые легко пропустить.
- 05. Оценка нагрузки через ×10 DAU. Три источника цифр, базовые формулы и сквозной прогон на каталоге магазина.
- 06. REST API на собесе. Шаблон ручки из семи пунктов, Idempotency-Key и с чего начинать: монолит или микросервисы.
- 07. Сквозной кейс: запуск Ленты Avito. Прогоняем все пять шагов на живом примере от и до.
- 08. Балансировка нагрузки. L4 против L7, восемь алгоритмов и почему gRPC ломает обычную балансировку.
- 09. Консистентное хеширование. Кольцо и виртуальные ноды, сколько данных реально переезжает, миграция шардов Notion за четыре фазы.
- 10. API Gateway и обратный прокси. Что gateway добавляет к прокси, зачем BFF и как не отрастить толстый gateway.
- 11. CDN. Push против pull, многоуровневый кэш, ключ кэша, инвалидация и подписанные ссылки.
- 12. DNS. Иерархия и резолвинг, типы записей, TTL и миф про десять секунд после деплоя.
Экстренная выкатка обновления на 50 млн устройств.
У тебя есть 5-шаговый алгоритм разбора: заходишь на любую задачу по понятному порядку и знаешь первый шаг, а не тупишь над чистым листом.
Неделя 02 · уроки 13-23
Ядро баз данных
Ядро баз данных
Самая большая неделя курса, одиннадцать уроков. Начинаем с того, как база кладёт данные на диск и почему запрос идёт через индекс, дальше берём транзакции и уровни изоляции, а заканчиваем тем, что происходит с данными, когда они перестают помещаться на один узел. Именно на этих вопросах на секции сыпется большинство, поэтому уроков здесь больше всего.
- 13. Модели данных и выбор БД. SQL против NoSQL, типы хранилищ и как базу выбирают под конкретную задачу.
- 14. Как база хранит данные. Страницы и куча, журнал раньше данных, почему коммит ждёт диск, восстановление после крэша.
- 15. Индексы под собес. B-Tree против LSM, ловушка порядка колонок в составном индексе и когда индекс вредит.
- 16. Транзакции и ACID. Что стоит за каждой буквой и почему ACID и BASE это не противоположности.
- 17. Конкурентный доступ: блокировки против версий. 2PL, гранулярность, deadlock, MVCC, снапшот и vacuum.
- 18. Уровни изоляции и аномалии. Четыре уровня как контракт, а не шкала, и матрица "уровень против аномалии".
- 19. Репликация: с одним лидером и без лидера. Отставание реплики и три аномалии чтения, кворум, раскол и фенсинг.
- 20. Репликация с несколькими лидерами. Три класса конфликтов, четыре стратегии резолюции, топологии обмена.
- 21. Консенсус: Raft и Paxos. Term, голоса и лог, split vote при разрыве сети, шесть систем консенсуса в проде.
- 22. Партиционирование и шардирование. Пять техник, гибридный шардинг, горячий ключ и плохие ключи шардирования.
- 23. CAP, PACELC и модели согласованности. Почему CAP смотрят по фичам, а не по системе, и как обосновать выбор.
Ядро БД: выбор хранилища, индексы под запросы, уровень изоляции.
Умеешь выбрать хранилище под задачу и объяснить, почему такая база, а не называть наугад.
Неделя 03 · уроки 24-32
Кэш, очереди и устойчивость
Кэш, очереди и устойчивость
Кэш, очереди и всё, что держит систему на ногах под нагрузкой: чем ускоряют чтение и чем за это платят, как сервисы обмениваются событиями и не теряют их, что делать, когда нагрузка выросла в десять раз или узел упал.
- 24. Кэширование: стратегии и архитектура. Кто ходит в базу на промахе, пять ролей Redis, вытеснение и два уровня кэша.
- 25. Проблемы кэша и инвалидация. Пять проблем и чем лечится каждая, чем убирать устаревшее, холодный кэш и сто процентов промахов.
- 26. Очереди и брокеры. Очередь против лога, гарантии доставки, DLQ и антипаттерн "топик на юзера".
- 27. Идемпотентность и transactional outbox. Где на самом деле проходит контракт, outbox против двойной записи, где ловить дубли.
- 28. Распределённые транзакции: 2PC, 3PC, сага. Blocking problem, почему компенсация это не откат, резерв вместо компенсации в TCC.
- 29. Ретраи, таймауты и backoff. Почему наивные ретраи дают каскад: jitter, дедлайны через всю цепочку, потолок повторов.
- 30. Circuit breaker и bulkhead. Три состояния, при каких условиях размыкается, изоляция ресурсов и логика на клиенте.
- 31. Rate limiting. Три способа счёта и их отношение к всплеску, где держать счётчик, почему нельзя считать по IP.
- 32. Масштабирование и плавная деградация. Вертикально или горизонтально, почему процессор плохая метрика, что гасим первым, стадо запросов.
Устойчивость: проблемы кэша, сага на три сервиса, rate limiting.
Знаешь паттерны отказоустойчивости: retry, circuit breaker, rate limiting, деградация. И не впадаешь в ступор, когда начинают копать вопросами.
Неделя 04 · уроки 33-37
Боевые кейсы: соцсети и медиа
Боевые кейсы: соцсети и медиа
Пять систем разбираем целиком: мессенджер, лента, фото-соцсеть со Stories, видеоплатформа и музыкальный стриминг. Каждую ведём в том же порядке, что и на секции: требования, модель данных, API, общая схема, углубление в узкое место.
- 33. Мессенджер: Telegram. Как держать 50-100 млн соединений, доставка и порядок сообщений, большой чат и всплеск звезды, presence и синхронизация между устройствами.
- 34. Лента: Avito Объявления. Fan-out и горячий источник. Плюс почему это не "лента Twitter" и почему это стоит сказать первым.
- 35. Фото-соцсеть со Stories. Три числа и три разных горлышка, двухфазная загрузка, медиа-пайплайн.
- 36. Видеоплатформа: YouTube. Конвейер транскодирования, доставка через ABR и CDN, счётчик просмотров без инкремента в транзакции.
- 37. Музыкальный стриминг: Яндекс.Музыка и Spotify. Почему аудио это не видео и как устроены доставка и плейбек.
Боевой кейс: лента Avito от монолита до гибридной схемы для звёзд.
Прогнал пять реальных систем от требований до глубокого разбора, есть с чем сверить свой ход мысли на боевом кейсе.
Неделя 05 · уроки 38-41
Сложные кейсы и поведение на собесе
Сложные кейсы и поведение на собесе
Билеты с double booking, автодополнение в поиске и заказ такси. Три кейса, где всё упирается в конкуренцию за ресурс, релевантность и геоданные. Плюс отдельный модуль про то, как вести себя в слоте: думать вслух, отвечать, когда копают, и выбираться из тупика.
- 38. Билеты: Яндекс Афиша и double booking. Четыре уровня защиты от двойной продажи, резерв с TTL и идемпотентная оплата.
- 39. Поиск: Яндекс Поиск, Google и autocomplete. Trie с предрассчитанным топ-K для подсказок, scatter-gather по шардам и ранжирование для поиска.
- 40. Заказ такси: Яндекс Такси и Uber. Почему Trip и Order это разные объекты, два потока вместо одного, гео-индекс и матчинг.
- 41. Как не звучать как YouTube-видео. Думать вслух, реагировать, когда копают, и выбираться из тупика, вместо пересказа заученного.
Финал: Яндекс Афиша с защитой от double booking.
Знаешь, что вытянуть в первые 5 минут слота, и ведёшь секцию сам. System Design перестаёт быть чёрным ящиком.
Как устроено обучение
Смотришь уроки и ходишь на живые разборы
Каждую неделю открывается несколько видеоуроков по теме, плюс живой Q&A, где задаёшь любой вопрос по материалу и собесам. Дедлайнов по неделям нет: не успел на этой, спокойно догоняешь на следующей. Срок один и общий на весь курс, внутри него идёшь в своём темпе.
Делаешь практическое задание с упором на реальную практику
После уроков открывается задание, собранное как на реальном сисдизе, но с упором именно на тему недели. Разбирали базы, значит проектируешь с упором на хранение: выбираешь БД, индексы, ключ шардирования, а кэш, очереди и остальное берёшь готовыми блоками. Сложность нарастает постепенно, и в последние две недели ты уже проектируешь систему целиком, где всё сходится сразу.
Твоё решение разбирает живой ментор
Ментор лично разбирает твоё решение и показывает, где ошибся, что можно было спроектировать правильнее или лучше.
Проходишь групповую практику
Каждую неделю небольшая команда проектирует задание по пройденной теме, ментор подключается к группе и направляет по ходу решения. А потом вы защищаете своё решение вслух перед другими командами: они задают вопросы вам, вы задаёте им. Ровно тот навык, которого не хватает на реальном собесе.
Читаешь разборы того, как это работает в проде
К каждой теме в конспекте идут не только схемы, но и история из жизни больших компаний: как ту же задачу решали у них, что в итоге сломалось и чем чинили. Такие примеры и запоминаются, и хорошо звучат на собесе.
А ещё у нас полный комфортик в чатике и на лекциях :)
Обсуждаем задания и болтаем за жизнь без духоты и формальностей.
Приходят backend-инженеры из разных компаний и с разными стеками, так что половина пользы в том, как соседи по потоку решают ту же задачу иначе.
Что ты будешь уметь после курса
-
Незнакомая задача больше не ставит в тупик: у тебя в голове весь порядок шагов, от требований до узких мест, и понятно, что делать на каждом.
-
За первые минуты вытягиваешь, что вообще нужно построить, и не уносишься решать не ту задачу.
-
Объясняешь, почему выбрал такую базу или подход, а не называешь наугад и не молчишь.
-
Когда начинают копать вопросами, отвечаешь по делу, а не впадаешь в ступор.
-
Успеваешь за 50 минут и ведёшь собес сам, а не интервьюер тащит тебя за руку.
-
Спокойно рассуждаешь вслух: слышно твой ход мысли, а не заученный текст.
-
07 · от паники к алгоритму
И главное, больше никакой паники на собесе. Вместо неё у тебя алгоритм и спокойная уверенность, что секцию ты пройдёшь.
Автор курса:
Олег Козырев
-
Т-Банк Staff EngineerРазрабатывал LLM-платформу для создания ИИ-продуктов внутри компании
-
Авито Senior EngineerРазрабатывал внутреннюю платформу для сотен сервисов корпорации
-
Ozon Tech Senior EngineerРазрабатывал сервисы логистики, модерации контента и мониторинга доставки
-
Route 256 ПреподавательМенторил и преподавал курсы по построению микросервисов в школе Ozon Tech
Тарифы
Материал курса в обоих тарифах одинаковый, все 41 урок и все разборы. Разница в проверке домашек от ментора и в живой практике по пройденному материалу каждую неделю.
без переплаты: сумма та же, что при оплате целиком
- 41 урок: видео плюс подробный текстовый конспект. Алгоритм интервью, сеть и доставка, хранение данных, кэш и очереди, устойчивость под нагрузкой, поведение на секции
- 8 систем, разобранных целиком: Telegram, лента Avito, фото-соцсеть со Stories, YouTube, Яндекс.Музыка, билеты Яндекс Афиши, поиск с автодополнением, Яндекс Такси. Каждую систему разбираем как на собесе: требования, нагрузка, узкие места, куда копнёт интервьюер
- Разбираем и то, как это ломалось в проде: откат Amazon Prime Video обратно в монолит, 140 микросервисов Segment, которые собрали назад
- Домашка каждую неделю. Задачи в формате секции: посчитать RPS под свою нагрузку, выбрать ключ шардирования и объяснить, почему дата заказа тут плохой ключ, собрать saga для заказа через три сервиса
- Живой еженедельный Q&A с Олегом. Разбираем все непонятные аспекты, отвечаю на вопросы по материалу и по собесам, иногда проектируем кейс прямо у доски
- Доступ к общему чатику потока
Разбор твоих домашек ментороместь в тарифе с практикойГрупповая практика и защита решения вслухесть в тарифе с практикой
Это анкета, а не оплата
без переплаты: сумма та же, что при оплате целиком
- Всё, что есть в Стандарте: 41 урок, 8 разобранных систем, домашки, живой Q&A и чат потока
- Ментор разбирает каждую твою домашку. Читает схему и твои обоснования и пишет подробный разбор: где решение поедет под нагрузкой, какой выбор не объяснён, что на секции спросят следом
- Домашки проверяем 8 недель, на три недели дольше самого курса. Ушёл в аврал на работе или отстал на неделю, спокойно догонишь: проверка никуда не денется
- Групповая практика каждую неделю. То, ради чего вообще берут этот тариф
- Небольшая группа получает задание по пройденной теме
- Ментор подключается к группе и направляет по ходу
- Потом вы защищаете решение вслух под вопросами, как на секции
Это анкета, а не оплата
- Рассрочка до 12 месяцев4 583 ₽/мес за Стандарт и 7 249 ₽/мес за тариф с практикой. Срок можно взять и короче. Сумма та же, что при оплате целиком: цена курса не зависит от способа оплаты
- Оплата от компанииМногие работодатели оплачивают обучение сотрудникам. Напиши в телеграм, и я пришлю счёт и документы на юрлицо
- Оплата из другой страныИностранной картой и не только рублями. Рассрочка работает в том числе для Беларуси и Казахстана
Если в первую неделю после старта поймёшь, что курс тебе не подходит, вернём всю стоимость. Решишь уйти позже, пересчитаем и вернём за непройденную часть.
Оффер. System Design это лишь один этап найма, и решение принимает не курс. Обещаем другое: ты перестанешь плыть на этой секции и будешь понимать, что делаешь и почему.
Ещё я веду YouTube
и ламповый TG-канальчик
Разбираю Go, архитектуру и собесы. Материал там другой, чем на курсе, зато видно, как я объясняю, и можно просто со мной познакомиться. На YouTube 13 000 подписчиков, в Telegram 11 000. В комментариях сижу сам: закидывай любой вопрос, отвечу.
FAQ: заблуждения и частые вопросы
Кажется, System Design это сложно, я ещё не дорос до такого уровня
Какой уровень нужен, чтобы пройти курс?
А я точно смогу применить это на реальном собесе?
Кажется, к System Design вообще нельзя подготовиться, это лотерея
Чем тариф "С проверкой и практикой" отличается от Стандарта?
Сколько нужно уделять времени? Смогу совмещать с работой?
Что делать, если не успеваю за потоком или пропущу неделю?
Можно вернуть деньги, если курс не подойдёт / передумаю?
Я не из России. Можно оплатить иностранной картой / валютой?
Можно оформить налоговый вычет 13%?
Я юрлицо. Можно оплатить курс своему сотруднику?
Продажа откроется 27 августа, старт потока 7 сентября
Записаться на поток* После нажатия откроется анкета предзаписи


