Skip to content

Andrew-Pyanzin/system-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

System-design notebooks

Коротко: комплект из десяти Jupyter-ноутбуков (на русском) для подготовки к системному дизайну — от сбора требований и расчёта нагрузки до модульного декомпозирования и защиты периметра.

Содержимое

  • intro.ipynb — чеклист для интервью: как вести беседу, фиксировать скоуп и держать инициативу, прежде чем погружаться в архитектуру.
  • 02. Сбор_требований_к_системе.ipynb — формализация функциональных/нефункциональных требований, явных/неявных допущений и приёмов ограничения функционала.
  • 03. Расчет-нагрузки-на-систему.ipynb — методика оценки трафика, RPS, пропускной способности и хранения на примере сокращателя ссылок и прочих сценариев.
  • 04. Высокоуровневый_дизайн.ipynb — паттерны фронт/бэк/хранилище, адаптация под разные домены и ранние решения по балансировке и кэшированию.
  • 05. Выбор_подходящих_баз_данных.ipynb — шпаргалка по ACID, CAP/PACELC и критериям выбора RDBMS, KV, колоночных и документных БД под разные SLA.
  • 06. Модульный_подход_к_дизайну.ipynb — декомпозиция интернет-магазина на доменные сервисы, очереди, продьюсеры/консьюмеры и точки интеграции.
  • 07. Масштабирование_системы.ipynb — практики балансировки, шардирования (range/hash/consistent), репликации и борьбы с "горячими" шардами.
  • 08. Повышение_отзывчивости.ipynb — стратегии кэширования по уровням, политики инвалидации/вытеснения и trade-off между скоростью и консистентностью.
  • 09. Подсистемы для поиска.ipynb — быстродействующие структуры для полнотекстового поиска, геопоиска и автодополнения (Trie, KMP, Ахо-Корасик, GeoHash, QuadTree).
  • 10. Дополнительные_подсистемы.ipynb — rate limiting (Token/Leaky/Fixed/Sliding), телеметрия (метрики, логи, трейсы) и базовые приёмы защиты API.

Практическое применение

  • Используй notebooks как конструктор ответа: сначала фиксируй требования/нагрузку, затем переходи к дизайну и специализированным подсистемам.
  • В каждый ноутбук добавлены справочные таблицы и алгоритмические подсказки, которые можно конвертировать в диаграммы или репетировать напрямую перед интервью.

About

System design notes & architecture patterns for technical product managers

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors