System Design Space

    Глава 45

    Обновлено: 15 февраля 2026 г. в 11:40

    Acing the System Design Interview (short summary)

    Прогресс части0/7

    Разбор книги

    Review: Acing the System Design Interview

    Подробный разбор книги от Alexander Polomodov в блоге Code of Architecture

    Перейти на сайт

    Acing the System Design Interview (System Design: пережить интервью)

    Авторы: Zhiyong Tan
    Издательство: Manning Publications
    Объём: 472 страниц

    Разбор книги Zhiyong Tan: методология проектирования, distributed transactions и common services.

    Acing the System Design Interview — оригинальная обложкаОригинал
    System Design: пережить интервью — переводПеревод

    Книга "Acing the System Design Interview" от Zhiyong Tan — это практичная альтернатива популярным материалам по System Design. Автор, engineering manager в PayPal с опытом работы в Uber и Teradata, предлагает структурированный подход к подготовке, который мне показался даже более полезным, чем книга Alex Xu.

    Ключевое отличие

    В отличие от Alex Xu, который фокусируется на разборе конкретных систем, Zhiyong Tan уделяет больше внимания процессу проектированияи структуре интервью. Первые 6 глав — это методологическая основа, а не набор готовых решений.

    Об авторе

    Zhiyong Tan — engineering manager в PayPal. До этого был senior fullstack инженером в Uber, data инженером в стартапах и инженером в Teradata.

    Этот разнообразный опыт позволил ему посмотреть на вопросы проектирования систем и найма сотрудников в компаниях разного масштаба и уровня зрелости — от стартапов до enterprise-гигантов.

    Структура книги

    1Часть 1: Введение в System Design Interview (6 глав)

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

    2Часть 2: Практические задачи (11 кейсов)

    Примеры System Design задач с разборами. Классические и нестандартные сценарии для отработки навыков проектирования.

    3Приложения

    Дополнительные материалы, которые могут быть затронуты на собеседовании:

    Монолит vs МикросервисыOAuth 2.0 & OIDCC4 Model2-Phase Commit

    Детальный разбор первой части

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

    1

    A Walkthrough of System Design Concepts

    В первой главе автор вводит базовые понятия System Design и объясняет главную идею: System Design — это про дискуссию вокруг компромиссов, на которые надо пойти при проектировании решения.

    Рассматриваемые темы:

    Масштабирование сервисов
    GeoDNS и глобальное распределение
    Кеширование и CDN
    Горизонтальное vs вертикальное масштабирование
    ETL и аналитические данные
    Bare metal vs Cloud vs FaaS
    2

    A Typical System Design Interview Flow

    Вторая глава посвящена структуре интервью и важному разделению требований:

    Functional Requirements

    Что система должна делать: features, use cases, user stories

    Non-Functional Requirements

    Как система должна работать: performance, scalability, reliability

    Также рассматриваются: спецификация API, моделирование данных и высокоуровневая архитектура.

    3

    Non-Functional Requirements

    Третья глава глубоко погружается в нефункциональные требования — так называемые "-ilities":

    Scalability

    Способность расти с нагрузкой

    Availability

    Доступность 99.9%+

    Reliability

    Корректность работы

    Maintainability

    Простота поддержки

    Performance

    Latency и throughput

    Security

    Защита данных

    4

    Scaling Databases

    Четвёртая глава фокусируется на масштабировании баз данных — одной из ключевых тем любого System Design интервью.

    Ключевые техники:

    Replication

    Master-slave, multi-master репликация

    Sharding

    Горизонтальное разделение данных

    Event Aggregation

    Агрегация событий для аналитики

    Caching Strategies

    Read-through, write-through, write-behind

    5

    Distributed Transactions

    Пятая глава — одна из самых ценных. Она посвящена сложной теме распределённых транзакций, которую редко хорошо освещают в других книгах.

    Рассматриваемые паттерны:

    Event-Driven Architecture

    Асинхронное взаимодействие через события

    Change Data Capture (CDC)

    Захват изменений из БД

    Saga Pattern

    Компенсирующие транзакции

    Transaction Supervisor

    Координация распределённых операций

    6

    Common Services

    Шестая глава разбирает общие сервисы, которые встречаются практически в каждой системе:

    Authentication

    JWT, Sessions, OAuth

    Error Handling

    Retry, Circuit Breaker

    Rate Limiting

    Token Bucket, Leaky Bucket

    Service Mesh

    Istio, Linkerd, Sidecars

    API Protocols

    REST, RPC, GraphQL

    Logging & Monitoring

    Observability stack

    Выводы и рекомендации

    Кому подойдёт эта книга?

    Тем, кто хочет понять "почему" — книга даёт методологическую основу, а не просто набор готовых решений.

    Инженерам с опытом — глубокий разбор distributed transactions и common services будет особенно полезен.

    Для долгосрочной подготовки — книга формирует системное понимание архитектуры, а не поверхностные знания.

    Рекомендация: Используйте эту книгу как основной источник для понимания процесса и методологии, а книгу Alex Xu — как справочник по конкретным системам.