system-design
Основы System Design
Кирпичи больших систем и фреймворк интервью — масштабирование, доступность, распределение данных, кэширование, асинхронность и трейдоффы под нагрузкой.
Начать трек →Начни отсюда
Что такое system design и рамка, с которой подходишь к любой задаче проектирования.Масштабируемость и производительность
Задержка, пропускная способность и оценки на салфетке, что управляют любым решением о масштабировании.Доступность и надёжность
Резервирование, failover и математика SLO, решающая сколько девяток можно обещать.Трафик и периметр
Как запросы распределяются по серверам и отдаются ближе к пользователю: балансировщики, прокси, шлюзы, CDN.Распределение данных
Репликация, шардинг, consistent hashing и трейдоффы CAP/PACELC, вытекающие из дробления данных.Кэширование при масштабе
Где кэшировать, что вытеснять и почему инвалидация — самая трудная часть.Асинхронность и сообщения
Развязка через очереди и pub/sub, событийный поток и выживание под backpressure.Выбор хранилища
Выбор правильного хранилища: реляционное, NoSQL, blob/object, time-series, поиск.Строительные блоки
Переиспользуемые механизмы из каждого дизайна: rate limiter, уникальные ID, фильтры Блума, geohashing, выбор лидера.Фреймворк интервью
Повторяемая процедура: требования, оценки, высокоуровневый дизайн, deep-dive, узкие места, трейдоффы.Проекты по этому треку
Guided-проекты, которые закрепляют изученное здесь.
Сервис фич-флагов
Собери небольшой сервис флагов с правилами таргетинга, процентными раскатками и типизированным SDK, который вычисляет флаги на клиенте из закешированного набора правил.
Загрузка через presigned URL
Прямая загрузка в хранилище через presigned URL с ограничениями размера и content-type и webhook завершения, проверяющим, что объект действительно прибыл, — чтобы API-сервер никогда не касался байт файлов.
Досье по проектированию системы
Возьми одну крупную систему — сократитель URL, который должен обслуживать миллиарды редиректов, — и напиши проектный документ, который staff-инженер защищал бы на ревью. Никакого работающего кода: результат — это строгий текст, числа и диаграммы. Ты пройдёшь путь от расплывчатого «сделай короткие ссылки» к очерченным требованиям, прикидочной модели нагрузки, конкретной модели данных и API, к тому единственному узкому месту, которое реально ломается под нагрузкой, и к честной карте того, чем ты пожертвовал ради его устранения.
URL-сокращатель под нагрузкой
Собери URL-сокращатель, который выдерживает настоящий трафик, — а потом эксплуатируй его: задеплой, наблюдай и разберись с инцидентом, когда одна горячая ссылка плавит твой кэш.
Разборы System Design
Сквозные разборы реальных систем — сокращатель ссылок, чат, лента, YouTube, платежи — требования, оценки, высокоуровневый дизайн и сложные deep-dive.