System Design: от паники к алгоритму

26 участников

О чём курс

Олег Козырев разбирает алгоритм прохождения секции по проектированию распределённых систем (System Design) для технических собеседований в крупные технологические компании. Материал помогает систематизировать архитектурные знания, перейти от хаотичных рассуждений к последовательному плану и понять инженерные принципы работы высоконагруженных сервисов.

Для кого

Материал ориентирован на специалистов, которые готовятся к прохождению собеседований или внутреннему повышению квалификации:

  • разработчики уровня Middle, планирующие переход на грейд Senior;
  • инженеры, которые хотят устроиться в бигтех-компании, включая Яндекс, Озон, Т-Банк, ВКонтакте, Сбер, Авито или Wildberries;
  • специалисты, у которых нет практического опыта проектирования распределённых систем на текущих рабочих проектах;
  • инженеры, стремящиеся разобраться в деталях работы инфраструктурных компонентов и архитектурных решений.

Что внутри

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

В первой части программы автор разбирает структуру и регламент собеседования: 45-минутный фреймворк, формулирование уточняющих вопросов в начале встречи и демонстрацию сигналов инженерной зрелости. В практическом блоке рассматриваются расчет нагрузок через capacity planning, проектирование REST API, применение сетевых шлюзов, балансировщиков нагрузки, CDN и разбор сквозного примера ленты объявлений.

Второй и третий модули охватывают архитектуру баз данных, асинхронные коммуникации и обеспечение устойчивости. Автор объясняет критерии выбора между SQL и NoSQL, устройство индексов B-Tree и LSM, уровни изоляции транзакций, алгоритмы распределенного консенсуса, такие как Raft, а также репликацию и шардирование. В блоке надежности анализируются стратегии кэширования, проблемы инвалидации данных, брокеры сообщений, реализация идемпотентности, транзакционный паттерн outbox, rate limiting и изоляция сбоев с помощью circuit breaker.

Четвертый и пятый модули содержат разбор практических кейсов из реальной практики. В их числе проектирование архитектуры мессенджера уровня Telegram, видеоплатформы YouTube, сервиса бронирования билетов с защитой от овербукинга, поискового автодополнения и геораспределенного сервиса такси с геоиндексами. Завершает обучение блок рекомендаций по коммуникации: управление таймингом, мышление вслух и аргументация решений при углубленных вопросах интервьюера.

Формат материалов

Программа тарифа «Стандарт» включает в себя следующие составляющие:

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

Программа обучения

Неделя 01. Алгоритм интервью + первый слой архитектуры Блок 1 · Алгоритм интервью: Как устроено SD-интервью. Что на самом деле оценивают и почему «правильного ответа» не существует. Сигналы зрелости. По каким фразам интервьюер отличает Senior от джуна, и как их подавать. 5-шаговый фреймворк разбора. Скелет, который превращает «спроектируй X» в план на 45 минут. Уточняющие вопросы. Что спросить в первые 5 минут, чтобы сузить задачу (плюс памятка частых пропусков). Блок 2 · Первый слой архитектуры: Capacity planning через ×10 DAU. Прикинуть RPS, storage и bandwidth на салфетке, без страха перед числами. REST API на собесе. Контракт, Idempotency-Key и почему «Monolith First» это сильный ход, а не слабость. Сквозной кейс: Лента Avito. Прогоняем весь фреймворк на живом примере от и до. Сеть и доставка. Load Balancer, API Gateway, CDN, DNS, из чего собирается вход в любую систему. Неделя 02. Ядро баз данных Блок 1 · Хранение и запросы: Модели данных и выбор БД. SQL vs NoSQL по делу: когда документ, когда KV, когда граф. Индексы под собес. B-Tree vs LSM и почему запрос «тормозит», на уровне, где не подловят. Транзакции и ACID. Что реально гарантирует БД, а что ты додумал. Уровни изоляции и аномалии. Dirty read, phantom, write skew, и как выбрать уровень под задачу. Блок 2 · Распределённые данные: Репликация. Single-leader и leaderless: пережить падение узла и не потерять данные. Distributed consensus (Raft). Как кластер договаривается о лидере, без академизма. Шардирование и партиционирование. Как разрезать данные, когда они не влезают на один узел. CAP и PACELC. Теорема, которую все цитируют неправильно, с практическим применением. Неделя 03. Кэш, очереди и устойчивость Блок 1 · Кэш и очереди: Кэширование. Стратегии и архитектура: где поставить кэш и что он реально ускорит. Проблемы кэша. Инвалидация, stampede, «протухшие» данные, любимая ловушка интервьюеров. Очереди и брокеры. Message Queue vs Event Stream, Kafka: когда async, когда sync. Блок 2 · Согласованность между сервисами: Идемпотентность и transactional outbox. Как не отправить платёж дважды и не потерять событие. Распределённые транзакции. 2PC, 3PC, saga: согласовать данные между сервисами без общей БД. Блок 3 · Отказоустойчивость: Retries, timeout, backoff. Как ретраить, чтобы не устроить лавину на упавший сервис. Circuit breaker и bulkhead. Локализовать отказ, чтобы падение одного не утянуло всё. Rate limiting. Token bucket и sliding window: защита от перегрузки и абьюза. Масштабирование и graceful degradation. Как деградировать красиво, а не падать целиком. Неделя 04. Первые боевые кейсы Блок 1 · Мессенджер и лента: Мессенджер (Telegram). WebSockets vs polling, presence, доставка и порядок сообщений, хранение истории. Лента (Avito Объявления). Fan-out on write vs on read, ранжирование, кэш ленты, media pipeline. Блок 2 · Видеоплатформа: Видеоплатформа (YouTube). Upload и транскодирование, CDN-доставка, обзор рекомендаций. Неделя 05. Сложные кейсы + поведение на собесе Блок 1 · Три сложных кейса: Билеты (Яндекс Афиша). Double booking, борьба за одно место, виртуальная очередь под пик. Поиск + Autocomplete (Яндекс / Google). Inverted index, Elasticsearch, trie, relevance и ранжирование. Ride-sharing (Яндекс Такси / Uber). Geospatial-индексы (geohash, quadtree), матчинг, real-time tracking, surge. Блок 2 · Поведение на собесе: Как вести себя на собесе. Тайминг 45 минут, думать вслух, первые 5 минут, как реагировать когда «копают» и выкрутиться из тупика. Объяснять «почему», а не пересказывать паттерны.

Складчина создана 26 июля 2026 г. · описание обновлено 25 октября 2026 г.

Теги курса

Проблемы

Другие материалы автора 2

ОК Олег Козырев Все материалы
860 ₽ 31 990 ₽