Второй том — это почти полностью книга сквозных разборов конкретных систем, а не теория.
Каждая глава идёт по единому шаблону: требования → грубые оценки → high-level → deep dive.
Vol. 2 продолжает первый том и полезнее на senior-интервью, где ждут глубину и компромиссы.
Практическая польза главы
Карта систем по доменам
Тринадцать глав сгруппированы в гео-, потоковые, хранилища и финтех — удобно выбирать, что тренировать под конкретное интервью.
Система → ключевая идея
По каждой системе выделена одна главная инженерная идея: leaderboard → Redis Sorted Set, payment → идемпотентность+ledger+сверка, stock exchange → matching engine.
Сквозные приёмы тома
Идемпотентность, exactly-once, CDC, sorted set, geohash и реконсиляция переиспользуются почти во всех главах — учатся один раз.
Связь с кейсами платформы
Семь систем тома разобраны на платформе как отдельные кейсы — главу книги удобно читать рядом с соответствующим кейсом.
Первый том
System Design Interview, Vol. 1
Обзор первого тома: рост системы, грубые оценки, ограничитель запросов и базовые хранилища.
System Design Interview – An Insider's Guide: Volume 2
Авторы: Alex Xu, Sahn Lam
Издательство: Byte Code LLC (ByteByteGo)
Объём: 434 страницы
Обзор второго тома Alex Xu и Sahn Lam: тринадцать сквозных кейсов проектирования — proximity service, Google Maps, распределённая очередь сообщений, агрегация кликов, S3-подобное объектное хранилище, платёжная система, биржа и другие — по доменам с ключевой инженерной идеей каждого.
Второй том от Alex Xu и Sahn Lam — это почти полностью книга сквозных кейсов. Если первый том закладывал фундамент (рост от одного сервера до миллионов пользователей, грубые оценки нагрузки, ограничитель запросов, согласованное хеширование, базовые хранилища), то Vol. 2 берёт тринадцать конкретных систем и доводит каждую от требований до глубокого разбора узких мест.
Шаблон везде один и держит дисциплину: сначала уточняем функциональные и нефункциональные требования, затем делаем масштаба, рисуем высокоуровневую архитектуру и только потом уходим в по самым рискованным частям. Порядок не декоративный: пропустите оценки — и углубление уйдёт не в то узкое место. Читать Vol. 1 заранее не обязательно, книга самодостаточна, но материал заметно более продвинутый и рассчитан на инженеров с опытом.
Тринадцать систем тома по доменам
Proximity Service, Nearby Friends, Google Maps — поиск ближайших объектов, друзья поблизости и маршруты.
Distributed Message Queue, Metrics Monitoring, Ad Click Event Aggregation — транспорт событий, метрики и точный подсчёт в потоке.
Hotel Reservation, Distributed Email Service, S3-like Object Storage, Gaming Leaderboard — инвентарь, почта, объектное хранилище и рейтинги.
Payment System, Digital Wallet, Stock Exchange — деньги, кошелёк и биржа, где цена ошибки выше всего.
1. Что это за книга и кому она
Vol. 2 — продолжение, а не повторение. Отдельных глав-теории здесь нет: почти весь объём занимают сквозные разборы конкретных систем по единому шаблону «требования → оценки → high-level → deep dive». Поэтому без базы книга буксует — она рассчитана на того, кто уже умеет рисовать коробочки и хочет научиться доводить дизайн до компромиссов и узких мест, где обычно и проседает ответ на интервью.
Единый шаблон каждой главы
- Понять задачу и зафиксировать функциональные и нефункциональные требования
- Сделать по объёму, нагрузке и хранению
- Предложить высокоуровневую архитектуру и согласовать её
- Углубиться в 2-3 самых рискованных компонента ()
- Обсудить узкие места, рост нагрузки и обработку отказов
2. Содержание Vol. 2: система → главная инженерная идея
Ниже — все тринадцать глав в порядке книги. По каждой системе выделена одна инженерная идея — тот узел, ради которого её и вытаскивают на интервью; провалите его, и остальная схема уже не спасает.
| # | Система | Главная инженерная идея |
|---|---|---|
| 1 | Proximity Service | Геохеш (geohash) или quadtree для поиска ближайших объектов |
| 2 | Nearby Friends | Протокол WebSocket + pub/sub для пушинга локаций в реальном времени |
| 3 | Google Maps | Геотайлы, геохеш (geohash) и расчёт маршрутов на графе дорог |
| 4 | Distributed Message Queue | Долговечность данных (durability), упорядочивание и гарантии доставки на брокере |
| 5 | Metrics Monitoring & Alerting | База временных рядов (time-series), агрегация и правила алертинга |
| 6 | Ad Click Event Aggregation | Стрим + семантика «ровно один раз» (exactly-once) и точность подсчёта при сбоях |
| 7 | Hotel Reservation | Управление инвентарём и защита от двойного бронирования |
| 8 | Distributed Email Service | Хранение почты, отправка/приём и масштабирование почтовых ящиков |
| 9 | S3-like Object Storage | Разделение данных и метаданных, долговечность данных (durability) и erasure coding |
| 10 | Real-time Gaming Leaderboard | Redis Sorted Set для рангов и обновлений рейтинга |
| 11 | Payment System | Идемпотентность + журнал проводок (ledger) + согласование состояния (reconciliation) |
| 12 | Digital Wallet | Распределённые транзакции и согласованность баланса |
| 13 | Stock Exchange | Matching engine, детерминизм и предельно низкая задержка |
Google Maps / Proximity
Геопространственный кейс платформы: геохеш (geohash), тайлы и поиск ближайших объектов.
Геопространственные системы (главы 1-3)
Proximity Service
Nearby Friends
Google Maps
Distributed Message Queue
Очередь сообщений: долговечность данных (durability), упорядочивание и гарантии доставки.
Потоки и агрегация (главы 4-6)
Message Queue
Metrics Monitoring
Ad Click Aggregation
S3-like Object Storage
Объектное хранилище: метаданные, разбиение на части и устойчивость хранения.
Хранилища и сервисы (главы 7-10)
Hotel Reservation
Distributed Email
Object Storage
Gaming Leaderboard
Payment System
Платёжная система: идемпотентность, журнал проводок (ledger) и сверка.
Финтех (главы 11-13)
Payment System
Digital Wallet
Stock Exchange
3. Сквозные приёмы тома
Главы разные, но инженерные опоры повторяются из системы в систему. Разобравшись с ними один раз, на интервью вы решаете не тринадцать задач, а несколько приёмов в разных декорациях — и время уходит на компромиссы, а не на изобретение базы заново.
Повтор запроса не должен приводить к двойному эффекту — основа платежей, кошелька и бронирования. (ключ идемпотентности)
Точный подсчёт в потоке: агрегация кликов, метрики и очереди живут на границе семантик «как минимум один раз» (at-least-once) и «ровно один раз» (exactly-once). (exactly-once)
Перенос изменений из БД в потоки и производные хранилища без двойной записи приложением. (захват изменений данных)
Redis Sorted Set для рангов лидерборда, геохеш (geohash) и пространственное индексирование для гео-запросов. (пространственное индексирование)
Двойная запись в журнал-источник истины и регулярное согласование состояния (reconciliation) с внешними системами. (ledger)
Оконные агрегаты, водяной знак (watermark) и обработка опоздавших событий в Ad Click и Metrics. (watermark)
4. Чем Vol. 2 отличается от Vol. 1
Vol. 1 — фундамент
- Три вводные главы про масштабирование, оценки и фреймворк ответа
- Строительные блоки: ограничитель запросов, согласованное хеширование,
- Классические кейсы попроще: URL shortener, лента, чат
- Хорош для входа в тему и первого прохода
Vol. 2 — сквозные системы
- Почти нет отдельной теории — сразу 13 продвинутых кейсов
- Гео, потоки, хранилища и финтех с реальными компромиссами
- Больше внимания узким местам, точности данных и отказам
- Полезнее на senior-интервью, где ждут глубину, а не схему
Практический совет: используйте Vol. 1, чтобы закрыть пробелы по строительным блокам, а Vol. 2 — как тренажёр сквозного дизайна. Гео-, потоковые и финтех-главы дают самые неочевидные вопросы и сильнее всего выделяют кандидата.
5. Как читать книгу вместе с платформой
Многие системы из Vol. 2 разобраны у нас как отдельные кейсы — их удобно открывать рядом с соответствующей главой и сравнивать ход рассуждений.
6. Честный разбор: сильные стороны и ограничения
Vol. 2 — сильный тренажёр сквозного дизайна, если читать его активно и доводить каждую систему до компромиссов, а не запоминать готовые схемы.
Сильные стороны
- ✓ Тринадцать продвинутых, актуальных систем
- ✓ Единый, узнаваемый шаблон разбора
- ✓ Акцент на узких местах и компромиссах
- ✓ Хорошее покрытие гео-, потоковых и финтех-доменов
Ограничения
- ⚠ Почти нет вводной теории — нужна база (например, Vol. 1)
- ⚠ Каждая система упрощена до интервью-формата, не до прод-реальности
- ⚠ Глубокие темы (финтех, биржа) стоит дополнять отраслевыми источниками
- ⚠ Решения — отправная точка, а не единственно верный ответ
Источники и дополнительные материалы
Фактическая опора обзора — официальная карточка книги и материал ByteByteGo со сравнением томов и списком глав. Goodreads ниже используется как читательская метаинформация, а блок «Честный разбор» — редакторская оценка применимости книги, не внешний источник.
Связанные главы
- System Design Interview, Vol. 1 (краткий обзор) - Первый том той же серии: рост системы, грубые оценки, ограничитель запросов, согласованное хеширование и базовые хранилища.
- Google Maps / Proximity Service - Геопространственный кейс: геохеш (geohash), тайлы и поиск ближайших объектов — разбор глав 1 и 3 тома как отдельной задачи.
- Distributed Message Queue - Очередь сообщений из главы 4: гарантии доставки, упорядочивание и долговечность данных (durability) на стороне брокера.
- Ad Click Event Aggregation - Потоковая агрегация кликов из главы 6: окна, дедупликация и точность подсчёта при сбоях.
- Payment System - Платёжная система из главы 11: идемпотентность, журнал проводок (ledger) и сверка как опоры финтех-надёжности.
- S3-like Object Storage - Объектное хранилище из главы 9: метаданные, разбиение на части и устойчивость хранения.
- Hotel Reservation System - Система бронирования из главы 7: инвентарь, конкурентные брони и предотвращение двойного бронирования.
- Real-time Gaming Leaderboard - Лидерборд из главы 10: Redis Sorted Set, ранги и обновления рейтинга в реальном времени.
