О курсе
Курс посвящён системному дизайну (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.