Принц
Администратор
- Регистрация
- 16 Дек 2016
- Сообщения
- 163.182
- Реакции
- 465.818
Складчина: System design [Тариф Стандарт] [Balun.Courses] [Повтор]
Знакомая ситуация?
На собеседованиях middle+ просят пройти system design интервью, а я ничего не знаю
На работе нужно создавать высоконагруженные системы, а у меня не хватает опыта и знаний
Есть база по system design, но не разбираюсь в сложных темах и деталях. Не могу спроектировать большую систему / не понимаю, правильно делаю или нет
Не понимаю, как работают сложные приложения и сервисы по типу «WhatsApp», «ВКонтакте», «Google Drive»
Толком не понимаю, что такое репликация и шардирование, а также все, что с этим связано
Не могу проявить себя на работе при обсуждении высоконагруженных систем — мало знаний и нечего сказать
95% вопросов по system design закроешь на этом обучении
Подготовишься к прохождению System Design интервью — поймешь из чего оно состоит, узнаешь его особенности и научишься проходить его на реальной практике
Узнаешь, как проектируются большие отказоустойчивые высоконагруженные системы
Познакомишься с огромным количеством паттернов и приемов проектирования высоконагруженных систем
Узнаешь, как работают репликация, шардирование, транзакции и многое другое
Научишься устанавливать требования для высоконагруженных систем, считать нагрузку и ресурсы, проектировать API, модель данных и всю систему в целом
Повысишь текущий уровень зарплаты и увеличишь свою ценность в компании, как специалиста
Программа:
Урок 1. Основы проектирования систем
Урок 2. Кэширование, API и Observability
Урок 3. Хранение и поставка данных
Урок 4. Распределение хранение данных
Урок 5. Паттерны и приемы проектирования
Урок 6. Проектирование популярных систем
Урок 7. Проектирование популярных систем
Урок 8. Проектирование популярных систем
Спойлер: Программа подробно
Урок 1. Основы проектирования систем
Свойства информационных систем
Надежность
Масштабируемость
Производительность
Удобство сопровождения
Безопасность
Критерии информационных систем
Data / compute intensive системы
Read / write intensive системы
Low latency системы
High throughput системы
Балансировка нагрузки
клиентская / серверная
DNS и geoDNS балансировка
L4 / L7 балансировка
алгоритмы балансировки - random / round robin / weighted round robin / least connections / least response time / least bandwidth / sticky sessions / power of two choises
Проксирование
forward / reverse
Функциональные и нефункциональные требования
Расчет нагрузки
Результат:
знаешь основные критерии и свойства информационных систем, без которых невозможно спроектировать большую отказоустойчивую систему.
разбираешься в балансировке нагрузки и проксировании, а также умеешь устанавливать требования к системе и считать нагрузку.
Бонус:
вместе установим функциональные и нефункциональные требования для одного популярного приложения, а также оценим будущую нагрузку на него.
Урок 2. Кэширование, API и Observability
Кэширование
внутреннее / внешнее
кэширование ошибок
эффективность кэширования
thundering herd problem
многомерные кэш
алгоритмы вытеснения - алгоритм Белади (OPT), random, LRU, SLRU, TLRU, LRU-k, MRU, LFU, LIFO, FIFO, 2Q, Second Chance, Clock
инвалидация - по TTL / по событию / версионирование кэша / тегирование кэша
взаимодействие с кэшем - cache aside / cache through / cache ahead
API
CRUD
Under / over fetching
SOAP / REST / RPC / GraphQL
Polling / long polling / streaming (SSE, WebSockets)
Версионирование API
Идемпотентность
Observability
Метрики / Логи / Трейсы
Алертинг
Непрерывное профилирование
Результат:
разбираешься в кэшировании, а также понимаешь основные проблемы при его использовании.
умеешь проектировать API и мониторить сервисы.
Бонус:
вместе спроектируем REST API для одного из популярных приложений.
Урок 3. Хранение и поставка данных
Виды баз данных
Реляционные
Документоориентированные
Key-value
Time series
Колоночные
Wide-column
Object storage
Характеристики баз данных
ACID / BASE
OLAP / OLTP / HTAP
Persistent / in-memory базы данных
Embedded / single file базы данных
Индексы
BTree / Hash / Bitmap / Spatial / Reversed
кластерные / некластерные
селективность индекса
функциональные
покрывающие
разряженные
Транзакции
WAL
Deferrable
MVCC / 2PL
Изоляции транзакций - READ_UNCOMMITTED / READ_COMMITTED / REPEATABLE_READ / SERIALIZABLE
Очереди сообщений
Сценарии использования
Гарантии доставки
Data retention
Паттерны хранения и поставки данных
Сжатие данных
Охлаждение данных
Запись батчами
Расчет железа
Хранимые процедуры
Materialized view
Тригеры
Результат:
понимаешь, где их и как лучше хранить данные, а также сколько потребуется железа для хранения.
знаешь различные виды баз данных, а также понимаешь, когда и какую из них следует выбирать на практике.
Бонус:
вместе спроектируем базу данных одного из популярных приложений, а также посчитаем сколько потребуется железа для хранения данных приложения.
Урок 4. Распределение хранение данных
Репликация
синхронная / асинхронная / полу-синхронная
с одним ведущим узлом / с несколькими ведущими узлами / без ведущих узлов
логическая (SBR / RBR) / физическая
hot standby / warm standby
фильтрация репликаций
split brain
failover
Партиционирование
Вертикальное / горизонтальное
Range based / key based / directory based
Шардирование
перебалансировка (virtual buckets)
resharding (consistent / randezvous hashing)
роутинг (client / proxy / coordinator routing)
Бэкапы
CAP теорема
PACELC теорема
CDN (Content Delivery Network)
CDC (Change Data Capture)
Результат:
понимаешь, как хранить данные распределенно на нескольких хостах, а также умеешь считать, сколько потребуется хостов для хранения этих данных.
Бонус:
вместе выберем стратегии репликации и шардирования базы данных одного из популярных приложений, а также посчитаем сколько потребуется хостов для хранения данных.
Урок 5. Паттерны и приемы проектирования
Архитектура информационных систем
Файл-сервер / клиент-сервер / P2P
Паттерны развертывания сервисов
Rolling / blue-green / канареечный
Архитектура бэкенда
Монолитная / микросервисная (MSA) / SOA
Событийно-ориентированная архитектура
Event notification / state transfer / event collaboration
Консенсус
Выбор лидера
Распределенная блокировка
Распределенные транзакции - SAGA хореография и оркестрация / 2PC / 3PC
Асинхронные паттерны
point-point / pub-sub / request-response
отложенное выполнение задач
Dead letter queue
Паттерны отказоустойчивости
fallback
bulkheads
backpressure
self-healing
rate limiting
retries (backoff)
feature toggles
circuit breaker
gracefull degradation
Результат:
знаешь различные паттерны и приемы проектирования, которые используются практически во время любого процесса проектирования системы
Бонус:
вместе найдем применимость этим паттернам и приемам проектирования в настоящих системах.
Урок 6. Проектирование популярных систем
Проектирование ленты друзей ВКонтакте
Проектирование WhatsApp
Результат: применяешь все знания с уроков на практике, умеешь строить большие высоконагруженные системы и понимаешь, как спроектированы популярные сервисы, которыми ты пользуешься каждый день.
Урок 7. Проектирование популярных систем
Проектирование Boocking.com
Проектирование Google Drive
Результат: применяешь все знания с уроков на практике, умеешь строить большие высоконагруженные системы и понимаешь, как спроектированы популярные сервисы, которыми ты пользуешься каждый день.
Урок 8. Проектирование популярных систем
Проектирование Яндекс.Такси
Проектирование Leetcode
Результат: применяешь все знания с уроков на практике, умеешь строить большие высоконагруженные системы и понимаешь, как спроектированы популярные сервисы, которыми ты пользуешься каждый день.
Тариф Стандарт
8 практических уроков
Проектирование 6-ти систем
Подготовка к System Design интервью
Финальный проект
Цена 51400 руб.
СКАЧАТЬ
Знакомая ситуация?
На собеседованиях middle+ просят пройти system design интервью, а я ничего не знаю
На работе нужно создавать высоконагруженные системы, а у меня не хватает опыта и знаний
Есть база по system design, но не разбираюсь в сложных темах и деталях. Не могу спроектировать большую систему / не понимаю, правильно делаю или нет
Не понимаю, как работают сложные приложения и сервисы по типу «WhatsApp», «ВКонтакте», «Google Drive»
Толком не понимаю, что такое репликация и шардирование, а также все, что с этим связано
Не могу проявить себя на работе при обсуждении высоконагруженных систем — мало знаний и нечего сказать
95% вопросов по system design закроешь на этом обучении
Подготовишься к прохождению System Design интервью — поймешь из чего оно состоит, узнаешь его особенности и научишься проходить его на реальной практике
Узнаешь, как проектируются большие отказоустойчивые высоконагруженные системы
Познакомишься с огромным количеством паттернов и приемов проектирования высоконагруженных систем
Узнаешь, как работают репликация, шардирование, транзакции и многое другое
Научишься устанавливать требования для высоконагруженных систем, считать нагрузку и ресурсы, проектировать API, модель данных и всю систему в целом
Повысишь текущий уровень зарплаты и увеличишь свою ценность в компании, как специалиста
Программа:
Урок 1. Основы проектирования систем
Урок 2. Кэширование, API и Observability
Урок 3. Хранение и поставка данных
Урок 4. Распределение хранение данных
Урок 5. Паттерны и приемы проектирования
Урок 6. Проектирование популярных систем
Урок 7. Проектирование популярных систем
Урок 8. Проектирование популярных систем
Спойлер: Программа подробно
Урок 1. Основы проектирования систем
Свойства информационных систем
Надежность
Масштабируемость
Производительность
Удобство сопровождения
Безопасность
Критерии информационных систем
Data / compute intensive системы
Read / write intensive системы
Low latency системы
High throughput системы
Балансировка нагрузки
клиентская / серверная
DNS и geoDNS балансировка
L4 / L7 балансировка
алгоритмы балансировки - random / round robin / weighted round robin / least connections / least response time / least bandwidth / sticky sessions / power of two choises
Проксирование
forward / reverse
Функциональные и нефункциональные требования
Расчет нагрузки
Результат:
знаешь основные критерии и свойства информационных систем, без которых невозможно спроектировать большую отказоустойчивую систему.
разбираешься в балансировке нагрузки и проксировании, а также умеешь устанавливать требования к системе и считать нагрузку.
Бонус:
вместе установим функциональные и нефункциональные требования для одного популярного приложения, а также оценим будущую нагрузку на него.
Урок 2. Кэширование, API и Observability
Кэширование
внутреннее / внешнее
кэширование ошибок
эффективность кэширования
thundering herd problem
многомерные кэш
алгоритмы вытеснения - алгоритм Белади (OPT), random, LRU, SLRU, TLRU, LRU-k, MRU, LFU, LIFO, FIFO, 2Q, Second Chance, Clock
инвалидация - по TTL / по событию / версионирование кэша / тегирование кэша
взаимодействие с кэшем - cache aside / cache through / cache ahead
API
CRUD
Under / over fetching
SOAP / REST / RPC / GraphQL
Polling / long polling / streaming (SSE, WebSockets)
Версионирование API
Идемпотентность
Observability
Метрики / Логи / Трейсы
Алертинг
Непрерывное профилирование
Результат:
разбираешься в кэшировании, а также понимаешь основные проблемы при его использовании.
умеешь проектировать API и мониторить сервисы.
Бонус:
вместе спроектируем REST API для одного из популярных приложений.
Урок 3. Хранение и поставка данных
Виды баз данных
Реляционные
Документоориентированные
Key-value
Time series
Колоночные
Wide-column
Object storage
Характеристики баз данных
ACID / BASE
OLAP / OLTP / HTAP
Persistent / in-memory базы данных
Embedded / single file базы данных
Индексы
BTree / Hash / Bitmap / Spatial / Reversed
кластерные / некластерные
селективность индекса
функциональные
покрывающие
разряженные
Транзакции
WAL
Deferrable
MVCC / 2PL
Изоляции транзакций - READ_UNCOMMITTED / READ_COMMITTED / REPEATABLE_READ / SERIALIZABLE
Очереди сообщений
Сценарии использования
Гарантии доставки
Data retention
Паттерны хранения и поставки данных
Сжатие данных
Охлаждение данных
Запись батчами
Расчет железа
Хранимые процедуры
Materialized view
Тригеры
Результат:
понимаешь, где их и как лучше хранить данные, а также сколько потребуется железа для хранения.
знаешь различные виды баз данных, а также понимаешь, когда и какую из них следует выбирать на практике.
Бонус:
вместе спроектируем базу данных одного из популярных приложений, а также посчитаем сколько потребуется железа для хранения данных приложения.
Урок 4. Распределение хранение данных
Репликация
синхронная / асинхронная / полу-синхронная
с одним ведущим узлом / с несколькими ведущими узлами / без ведущих узлов
логическая (SBR / RBR) / физическая
hot standby / warm standby
фильтрация репликаций
split brain
failover
Партиционирование
Вертикальное / горизонтальное
Range based / key based / directory based
Шардирование
перебалансировка (virtual buckets)
resharding (consistent / randezvous hashing)
роутинг (client / proxy / coordinator routing)
Бэкапы
CAP теорема
PACELC теорема
CDN (Content Delivery Network)
CDC (Change Data Capture)
Результат:
понимаешь, как хранить данные распределенно на нескольких хостах, а также умеешь считать, сколько потребуется хостов для хранения этих данных.
Бонус:
вместе выберем стратегии репликации и шардирования базы данных одного из популярных приложений, а также посчитаем сколько потребуется хостов для хранения данных.
Урок 5. Паттерны и приемы проектирования
Архитектура информационных систем
Файл-сервер / клиент-сервер / P2P
Паттерны развертывания сервисов
Rolling / blue-green / канареечный
Архитектура бэкенда
Монолитная / микросервисная (MSA) / SOA
Событийно-ориентированная архитектура
Event notification / state transfer / event collaboration
Консенсус
Выбор лидера
Распределенная блокировка
Распределенные транзакции - SAGA хореография и оркестрация / 2PC / 3PC
Асинхронные паттерны
point-point / pub-sub / request-response
отложенное выполнение задач
Dead letter queue
Паттерны отказоустойчивости
fallback
bulkheads
backpressure
self-healing
rate limiting
retries (backoff)
feature toggles
circuit breaker
gracefull degradation
Результат:
знаешь различные паттерны и приемы проектирования, которые используются практически во время любого процесса проектирования системы
Бонус:
вместе найдем применимость этим паттернам и приемам проектирования в настоящих системах.
Урок 6. Проектирование популярных систем
Проектирование ленты друзей ВКонтакте
Проектирование WhatsApp
Результат: применяешь все знания с уроков на практике, умеешь строить большие высоконагруженные системы и понимаешь, как спроектированы популярные сервисы, которыми ты пользуешься каждый день.
Урок 7. Проектирование популярных систем
Проектирование Boocking.com
Проектирование Google Drive
Результат: применяешь все знания с уроков на практике, умеешь строить большие высоконагруженные системы и понимаешь, как спроектированы популярные сервисы, которыми ты пользуешься каждый день.
Урок 8. Проектирование популярных систем
Проектирование Яндекс.Такси
Проектирование Leetcode
Результат: применяешь все знания с уроков на практике, умеешь строить большие высоконагруженные системы и понимаешь, как спроектированы популярные сервисы, которыми ты пользуешься каждый день.
Тариф Стандарт
8 практических уроков
Проектирование 6-ти систем
Подготовка к System Design интервью
Финальный проект
Цена 51400 руб.
СКАЧАТЬ
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- [Бумажная лоза] Плетеные фантазии (июль 2025) [Ольга Рыжкова]
- Нейрографический альбом. Формула счастья [Виктория Разинькова]
- [Ватные игрушки] Шалтай-Болтай [cotton_toys_st]
- Инсулинорезистентность и ожирение [Максим Кузнецов]
- Тяжёлые металлы и болезни цивилизации [DocLana.MorNatural] [Светлана Мортенсен, Ксения Енина]
- Как разбогатеть, если ничего не умеешь [Николай Киселев]