Подборка бесплатных материалов по Low Level Design и подготовке к собеседованиям по объектно-ориентированному проектированию: OOP, паттерны, UML и concurrency.
donnemartin/system-design-primer
Бесплатное руководство с открытым исходным кодом по проектированию крупномасштабных систем и подготовке к собеседованиям, с примерами решений и карточками Anki.
- Звёзды
- 374,932
- Форки
- 58,922
- Открытые issues
- 628
- Последний коммит
- в прошлом месяце
Что это?
System Design Primer — это структурированная подборка материалов по проектированию крупномасштабных систем. В ней рассматриваются основные компромиссы: производительность и масштабируемость, задержка и пропускная способность, доступность и согласованность. Затем разбираются ключевые компоненты: DNS, CDN, балансировщики нагрузки, reverse proxy, базы данных (SQL и NoSQL), стратегии кэширования, асинхронный обмен сообщениями и протоколы взаимодействия, такие как TCP, UDP, RPC и REST.
Проект также помогает готовиться к собеседованиям. В нём описан пошаговый подход к ответам на открытые вопросы о проектировании систем и приведены подробные решения типовых задач: проектирование сокращателя URL, ленты в стиле Twitter, веб-краулера и социального графа. В отдельном разделе рассматриваются вопросы по объектно-ориентированному проектированию и приводятся решения в блокнотах.
Для повторения материала предусмотрены колоды Anki с интервальным повторением, а репозиторий доступен на многих языках. Материалы создаются и обновляются силами сообщества открытого исходного кода.
Ключевые возможности
- 01Разбирает основные компромиссы, включая CAP, модели согласованности и числовые показатели доступности
- 02Объясняет базовые компоненты: балансировщики нагрузки, кэширование, шардинг и очереди сообщений
- 03Содержит подробные решения типовых вопросов на собеседованиях по проектированию систем
- 04Включает упражнения по объектно-ориентированному проектированию с решениями в блокнотах
- 05Содержит колоды карточек Anki для интервального повторения
Сценарии использования
- Подготовка к этапам собеседования по проектированию систем на backend- и инфраструктурные позиции
- Формирование базового понимания архитектуры распределённых систем
- Повторение компромиссов перед проектированием масштабируемого сервиса
- Повторение ключевых понятий с помощью карточек во время коротких занятий
Что важно знать
- Не удалось определить лицензию по метаданным проекта, поэтому условия повторного использования неясны.
Темы
Частые вопросы
- Что такое system-design-primer?
- Бесплатное руководство с открытым исходным кодом по проектированию крупномасштабных систем и подготовке к собеседованиям, с примерами решений и карточками Anki. System Design Primer — это структурированная подборка материалов по проектированию крупномасштабных систем. В ней рассматриваются основные компромиссы: производительность и масштабируемость, задержка и пропускная способность, доступность и согласованность. Затем разбираются ключевые компоненты: DNS, CDN, балансировщики нагрузки, reverse proxy, базы данных (SQL и NoSQL), стратегии кэширования, асинхронный обмен сообщениями и протоколы взаимодействия, такие как TCP, UDP, RPC и REST.
- system-design-primer можно использовать бесплатно? Какая у него лицензия?
- system-design-primer распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- system-design-primer всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в system-design-primer — 15 сент. 2026 г..
- Для чего можно использовать system-design-primer?
- Подготовка к этапам собеседования по проектированию систем на backend- и инфраструктурные позиции Формирование базового понимания архитектуры распределённых систем Повторение компромиссов перед проектированием масштабируемого сервиса Повторение ключевых понятий с помощью карточек во время коротких занятий
- Где скачать system-design-primer?
- Исходный код и инструкции по установке — на GitHub: https://github.com/donnemartin/system-design-primer
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Подборка из более чем 300 инженерных статей из блогов Airbnb, Netflix, Uber, Stripe и других компаний, сгруппированных по компаниям.
Поддерживаемая сообществом коллекция алгоритмов на Python для обучения и изучения.
Китайскоязычное руководство по подготовке к собеседованиям на Java backend: основы CS, базы данных, распределённые системы, проектирование систем и разработка AI-приложений.
Образовательная платформа с открытым исходным кодом на базе ИИ: превращает учебные материалы в тесты, карточки, заметки по методу Корнелла и подкасты; вдохновлена NotebookLM.
Курс по ML через практику: deep learning-фреймворк на чистом NumPy с нуля (модули CLI) и более 350 задач по программированию в браузере с проверкой в Pyodide.