О курсе

Курс посвящён системному дизайну (System Design) и ориентирован на подготовку к техническим собеседованиям. Программа состоит из восьми модулей, охватывающих ключевые аспекты проектирования распределённых систем. Начинается с основ хранения данных на одном узле, включая индексацию, управление конкурентностью и восстановление. Далее рассматриваются репликация и шардирование/партиционирование данных, а также вопросы консистентности и консенсуса. Отдельные модули посвящены сетевым взаимодействиям, наблюдаемости и обнаружению сервисов, а также архитектурным паттернам. Завершается курс разбором популярных вопросов по системному дизайну. В рамках курса предлагаются записи лекций и живые сессии вопросов и ответов. Общая продолжительность материала превышает 30 часов. В описании упоминаются примеры проектируемых систем: распределённое хранилище ключ-значение, социальная сеть, сервис видео по запросу, мессенджер и система бронирования.

Что рассматривается в программе

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

Кому может быть полезен курс

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

Вопросы о программе

Какой формат обучения предлагается в курсе?

Курс включает записи лекций и живые сессии вопросов и ответов (Live Q&A).

Сколько часов материала входит в курс?

В описании указано, что в курсе более 30 часов материала.

Какие темы охватывает программа?

Программа включает восемь модулей: Single Node Storage, Replication, Sharding/Partitioning, Consistency/Consensus, Networking, Observability/Discovery, Architecture Patterns и System Design Hot Questions.

Какие примеры систем рассматриваются в курсе?

В описании упоминаются Distributed KV, Social Network, VOD, Messenger и Booking.