← Все курсы

System Design · Бесплатный курс

Как спроектировать систему, которая справится с работой

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

В каждой главе есть объяснение, задания и разбор. Для начала достаточно браузера и желания разобраться. Код и SQL появляются постепенно; схемы можно рисовать на бумаге.

Пройдено проверочных вопросов: 0 из 16.

Начать: Из чего состоит приложение →

От объяснения к собственному решению

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

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

Программа курса

16 глав: основы, масштабирование, сбои и защита решения на собеседовании. Лучше проходить по порядку: задания опираются на предыдущие главы.

  1. 01Из чего состоит приложениеОткрыть главу →
  2. 02HTTP и договор между клиентом и серверомОткрыть главу →
  3. 03Данные, SQL и последнее свободное местоОткрыть главу →
  4. 04Требования и математика нагрузкиОткрыть главу →
  5. 05Как один сервис выдерживает рост нагрузкиОткрыть главу →
  6. 06Кэш: быстрые копии и цена устареванияОткрыть главу →
  7. 07Репликация, согласованность и разделение сетиОткрыть главу →
  8. 08Разбиение данных и выбор хранилищаОткрыть главу →
  9. 09Очереди, события и длинные процессыОткрыть главу →
  10. 10Чат, лента и поток событийОткрыть главу →
  11. 11Файлы, видео и фоновая обработкаОткрыть главу →
  12. 12Безопасность, права и персональные данныеОткрыть главу →
  13. 13Надёжность и восстановлениеОткрыть главу →
  14. 14Изменения без остановки и несколько регионовОткрыть главу →
  15. 15Архитектурная защита и проверка решенийОткрыть главу →
  16. 16Собеседование и дальнейшая практикаОткрыть главу →

Hard Parts · Сложные вопросы проектирования

База понятна, но в решении остаются неудобные вопросы? Здесь разбираем их отдельно: что гарантирует кворум, где заканчивается «ровно один раз», как переключить регион и не потерять новые записи.

Как проверяется учебный маршрут →

Как работать с заданиями

Сначала запишите своё решение, потом читайте разбор. Меняйте условия и проверяйте, выдерживает ли их ваша схема. Проекты сохраняются в рабочей тетради; оценивать архитектуру нужно по критериям задания. Правильный ответ на один вопрос не заменяет эту работу.