Общая информация
| Параметр | Vol. 1 | Vol. 2 |
|---|---|---|
| Автор | Alex Xu | Alex Xu, Sahn Lam |
| Год | 2020 | 2022 |
| Страниц | 320 | 434 |
| Уровень | Beginner-Intermediate | Intermediate-Advanced |
| Рейтинг полезности | 5/5 | 4/5 |
Почему эти книги стали бестселлерами
Книги Alex Xu заполнили нишу, которой не было: практические пошаговые разборы задач System Design. До них инженеры готовились по разрозненным статьям и блогам. Xu собрал всё в структурированный формат с диаграммами, чёткими шагами и оценкой масштаба.
Главная ценность: Каждая глава -- это готовый шаблон ответа на интервью. Вы видите, как идти от требований к финальному дизайну за 45 минут.
Volume 1: An Insider's Guide
Содержание
Книга разделена на две части: фундаментальные концепции и практические кейсы.
Часть 1 -- Основы:
- Масштабирование от нуля до миллионов пользователей
- Back-of-the-envelope estimation (оценки на салфетке)
- Framework для ответов на интервью
Часть 2 -- Кейсы:
| Глава | Задача | Ключевые темы |
|---|---|---|
| 5 | Rate Limiter | Token bucket, sliding window, distributed rate limiting |
| 6 | Key-Value Store | Consistent hashing, replication, conflict resolution |
| 7 | Unique ID Generator | Snowflake, UUID, database auto-increment |
| 8 | URL Shortener | Hashing, base62, analytics |
| 9 | Web Crawler | BFS, politeness, deduplication |
| 10 | Notification System | Push, SMS, email, priority |
| 11 | News Feed | Fan-out on write vs read, ranking |
| 12 | Chat System | WebSocket, online presence, storage |
| 13 | Search Autocomplete | Trie, data sampling, sharding |
| 14 | YouTube | Upload, transcoding, streaming, CDN |
| 15 | Google Drive | Sync, chunking, deduplication |
Ключевые идеи Vol. 1
- Framework решения -- 4 шага: requirements, high-level design, deep dive, wrap-up
- Back-of-the-envelope -- как быстро оценить нагрузку, хранилище, bandwidth
- Итеративный дизайн -- начинай с простого, усложняй по мере обсуждения
- Trade-offs -- каждое решение требует обоснования
- Масштабирование -- конкретные числа: QPS, storage, DAU
Volume 2: More Cases
Содержание
Второй том содержит более сложные и современные кейсы.
| Глава | Задача | Ключевые темы |
|---|---|---|
| 1 | Proximity Service | Geohashing, quadtree, Hilbert curve |
| 2 | Nearby Friends | WebSocket, Redis Pub/Sub, geo-index |
| 3 | Google Maps | Graph algorithms, map tiles, ETA |
| 4 | Distributed Message Queue | Partition, replication, consumer groups |
| 5 | Metrics Monitoring | Time-series DB, alerting, aggregation |
| 6 | Ad Click Event Aggregation | Lambda/Kappa, exactly-once, MapReduce |
| 7 | Hotel Reservation | Double booking, concurrency, inventory |
| 8 | Distributed Email Service | SMTP, storage, search |
| 9 | S3-like Object Storage | Erasure coding, metadata, data nodes |
| 10 | Real-time Gaming Leaderboard | Redis sorted sets, sharding |
| 11 | Payment System | Idempotency, reconciliation, ledger |
| 12 | Digital Wallet | Event sourcing, CQRS, audit trail |
| 13 | Stock Exchange | Matching engine, order book, latency |
Ключевые идеи Vol. 2
- Геолокация -- разные подходы к пространственному индексированию
- Финансовые системы -- idempotency и reconciliation как основа
- Real-time системы -- WebSocket, event-driven архитектура
- Распределённые очереди -- partition strategy, consumer groups
- Мониторинг -- time-series данные, правила агрегации
Сравнение двух томов
| Критерий | Vol. 1 | Vol. 2 |
|---|---|---|
| Сложность | Средняя | Выше средней |
| Для подготовки к | Mid-level интервью | Senior-level интервью |
| Фокус | Классические задачи | Современные системы |
| Диаграммы | Простые и понятные | Более детальные |
| Самостоятельность | Можно читать без опыта | Нужен базовый опыт |
Плюсы
- Структура -- каждый кейс следует одному framework (requirements -> design -> deep dive)
- Диаграммы -- чёткие, профессиональные, легко воспроизвести на whiteboard
- Оценки масштаба -- конкретные числа: DAU, QPS, storage
- Прагматизм -- автор фокусируется на том, что реально спрашивают на интервью
- Итеративность -- от простого к сложному в каждом кейсе
Минусы
- Поверхностность -- каждая тема сжата до одной главы, глубины не хватает
- Нет кода -- чистая архитектура без реализации
- Интервью-ориентированность -- некоторые упрощения ради формата
- Нет реальных проблем -- описаны идеализированные системы
- Английский язык -- нет официального перевода на русский
Кому читать
- Инженерам, готовящимся к System Design интервью
- Middle-разработчикам, желающим расширить архитектурное мышление
- Тем, кто учится лучше на конкретных примерах, а не на абстрактной теории
- Ведущим и проводящим System Design интервью
Кому НЕ читать
- Опытным архитекторам -- материал покажется поверхностным
- Тем, кто ищет глубокое понимание распределённых систем -- лучше DDIA
- Начинающим без базовых знаний CS -- сначала System Design Primer
Рекомендация: Vol. 1 -- обязательная книга для подготовки к интервью на позиции middle и senior. Vol. 2 стоит читать, если вы целитесь на senior/staff позиции или хотите расширить набор разбираемых кейсов. Вместе они покрывают 90% типовых задач на интервью.