Шпаргалка по System Design на 28 глав для тех, кто не хочет читать два тома Алекса Сю

30 авг 2026
14,707
2,799
116
4 недели

Помню, как пару лет назад я впервые сел готовиться к собеседованию по архитектуре. Открываешь популярный двухтомник Алекса Сю «System Design Interview» и понимаешь, что страниц там под тысячу. Времени до интервью обычно неделя, максимум две, а голова уже идет кругом от обилия схем. И вот недавно в закладках я наткнулся на репозиторий liquidslr/system-design-notes.

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

Что внутри конспекта

Здесь нет абстрактных рассуждений о чистой архитектуре. Репозиторий строго следует структуре оригинальных книг и делится на две большие группы тем: базовые строительные блоки и проектирование конкретных сервисов.

В первой части собраны базовые механики, без которых невозможно спроектировать ни один надежный бэкенд:

  • Прикидки на салфетке (back-of-the-envelope estimation). Умение за пару минут посчитать входящий RPS, объем дискового пространства под терабайты логов и требуемую пропускную способность сети.
  • Алгоритмы rate limiting для защиты публичных API от перегрузок и спама.
  • Консистентное хеширование, которое спасает при динамическом шардировании баз данных и балансировке кеша.
  • Генерация уникальных ID в распределенной среде без блокировок, вроде Snowflake от Twitter или тикет-серверов Flickr.

Вторая группа тем посвящена разбору полноценных сервисов. Автор разбирает задачи, которые чаще всего встречаются на собеседованиях в бигтех:

Реклама
  • Архитектура сервиса коротких ссылок с расчетом коллизий хеш-функций.
  • Масштабируемый чат уровня Slack или Discord с постоянными соединениями по WebSocket.
  • Видеохостинг наподобие YouTube с конвейером асинхронного транскодирования роликов под разные разрешения.
  • Платежные шлюзы и цифровые кошельки, где критически важна идемпотентность операций и двухфазный коммит.

Реальные инженерные статьи вместо сухой теории

Главный плюс репозитория даже не в сжатом пересказе глав. В конце README автор собрал ссылки на оригинальные технические статьи и пейперы от команд Discord, Uber, Netflix и Amazon.

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

Когда вы читаете главу про системы обмена сообщениями, тут же можно открыть статью инженеров Discord о том, как они хранили миллиарды сообщений и почему сначала выбрали Cassandra, а позже переписали хранилище на Rust и ScyllaDB. Рядом лежит статья про архитектуру Flannel от команды Slack, где объясняется работа application-level кеша на границе сети.

В разделе про поиск и автокомплит прикреплена ссылка на Prefixy и материалы по Prefix Hash Tree. Для тех, кто разбирается с распределенным хранением данных, собраны оригинальные пейперы по Google BigTable и Amazon Dynamo DB.

Такой подход связывает книжную теорию с реальным опытом крупных компаний.

Как читать и использовать эти заметки

Материалы выложены в двух форматах. Можно изучать папки прямо в репозитории на GitHub, а можно открыть веб-версию через Pagefy, ссылка на которую есть в самом начале README. Второй вариант удобнее для чтения со смартфона или планшета в дороге.

В каждой папке вы найдете:

  • Постановку задачи с функциональными и нефункциональными требованиями.
  • Высокоуровневую диаграмму компонентов (балансировщики, кеши, базы данных, очереди).
  • Детальный разбор узких мест архитектуры и способов их масштабирования.
  • Финальные выводы и компромиссы выбранного решения.

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

При этом у репозитория есть нюанс: проект до сих пор отмечен как work in progress. Часть глав оформлена максимально подробно, с формулами и аккуратными схемами, а в некоторых главах пока даны лишь краткие тезисы. Автор время от времени обновляет контент, но перед серьезным интервью лучше дополнительно заглядывать в упомянутые статьи из инженерных блогов.

Кому проект сэкономит время

Если вы готовитесь к смене работы на позицию уровня Middle+ или Senior, этот репозиторий сэкономит вам десятки часов.

Заметки также пригодятся тем, кто:

  • Проектирует новый сервис на работе и выбирает между SQL, NoSQL и key-value хранилищем.
  • Хочет разобраться в деталях работы геосервисов (вроде поиска ближайших объектов или друзей на карте) через GeoHash и QuadTree.
  • Пишет интеграции с платежками и хочет избежать двойных списаний при сетевых сбоях.
  • Устал от типовых задач и хочет подтянуть понимание распределенных систем в целом.

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

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.