Скачать System Design [Тариф База] [Владимир Невзоров, Михаил Масягин]

Джокер

Администратор
Регистрация
1 Янв 2015
Сообщения
133.902
Реакции
76.377
Складчина: System Design [Тариф База] [Владимир Невзоров, Михаил Масягин]



Твоя база для создания высоконагруженных отказоустойчивых систем

Научишься проходить System Design интервью в Big Tech
Разработаешь систему в конце курса и прикрепишь к себе в портфолио
Изучишь архитектурные паттерны, запустишь реальные проекты
Поймешь популярные кейсы с партиционированием, шардированием, микросервисной архитектурой
Спроектируешь популярные сервисы
Овладеешь фреймворком с чёткой структурой для создания масштабируемых систем
Подойдёт IT специалистам:

Backend разработчикам
Системным и бизнес аналитикам
Devops инженерам
Продакт менеджерам
Sre инженерам
Frontend разработчикам
QA-инженерам
Лидам
Программа курса:
1 Проработка прохождения интервью
2 Архитектурная база
3 «В очередь, пожалуйста»
4 СУБД с точки зрения System Design Интервью
5 Distributed Data Storage
6 Практика 1
7 Практика 2
8 Архитектурная ката


Спойлер: Подробная программа
1 Проработка прохождения интервью
Цель урока - дать представление о всех важных этапах, которые нужно пройти при проектирование системы.

1. Выявление и разбор требований:
· Функциональных - какие возможности для пользователя даёт система
· Нефункциональных - какими качествами система обладает
2. Расчёт нагрузки - storage, throughput, rps
3. Построение верхнеуровнего API. Подробней про REST API
4. Построение схемы данных на базе PostgreSQL
5. Построение архитектуры системы - начнём с базового блока
6. Создание системы мониторинга
7. Выявление узких мест

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

High availability
Fault tolerance
Scalability
Durability
Consistency
Maintainability
Итого:
Получишь структуру прохождения интервью и прорешанную задачу.
Далее во всём курсе будем делать отсылки для детализации решения.

(!) Такой старт с конца поможет мозгу жадно всасывать знания из последующих лекций. Поскольку будет понятно к чему они применяются.

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

Аутентификация - HTTP Basic Auth, Cookie-Based Auth, Token-Based Auth (JWT)
API Gateway vs Load Balancer. Почему must have в системе?
Алгоритмы балансировки - Round Robin, Weighted Round Robin, Least Connections, IP Hash
Монолитная vs микросервисная система
Синхронное vs асинхронное взаимодействие
Модель OSI, DNS.
Популярные протоколы детальней - TCP/IP, UDP, HTTP, Websockets, grpc
Service discovery
Паттерны проектирования отказоустойчивых приложений:

Retry
Rate limiting
Circuit breaker
Dummy
Итого:

Сможешь выбрать нужный архитектурный подход для построения системы.
Будешь ориентироваться в протоколах и разобранных паттернах.
3 «В очередь, пожалуйста»
Разбираем асинхронные взаимодействия глубже.

Очереди. Зачем нужны?
Push / pull модель взаимодействия
Кафка подробно:

Почему быстрая?
Где используется?
Преимущества
Topic, Broker, Producer, Consumer group
Партиции, сбои узлов

Гарантии доставки - at least once, at most once, exactly once
Итого:

Понимаешь контекст использования очередей
Понимаешь работу кафки с её основными компонентами
4 СУБД с точки зрения System Design Интервью
Цель урока - дать представление о понятии СУБД. Рассмотреть популярные типы СУБД и области их применения.

Модели данных:

Модель данных - лишь абстракция (показываем пример запросов в ClickHouse, PostgreSQL, Pandas)
Реляционная модель данных & SQL (PostgreSQL, CH)
Key-value модель данных (Redis)
Документоориентированная модель данных (MongoDB);
Графовая модель данных

Индексы и их виды. На примере PostgreSQL

LSM-деревья. И почему важно хотя бы представлять что это
B-деревья - базовая база всех интервью
Обратные индексы
Особые индексы: составные, кластерные, покрывающие, с условием

Транзакции и уровни изоляций (base + advanced level)

ACID - супер основа БД
Уровни изоляции транзакций (пример с PostgreSQL)
Нестандартные транзакции (Redis и его pipe'ы)

СУБД на System Design Интервью - разомнём пальчики

Оn-premise (CH, PostgreSQL, MongoDB) vs cloud (AWS)
Чек лист по выбору СУБД
Итого:

Понимаешь контекст использования различных СУБД
Умеешь выбрать нужную для проектирования системы
5 Distributed Data Storage
Цель урока - дать представления о репликации и шардировании

Репликация

Синхронная vs асинхронная
Виды реализации репликации
Репликация с 1 ведущим узлом (подробно, делаем в PostgreSQL)
Репликация с 1+ ведущим узлом

Партиционирование и шардирование (basic)

Партиционирование данных на 1 сервере (PostgreSQL, ClickHouse)
Шардирование данных на множестве серверов

Методы шардирования - PostgreSQL, делаем руками

Key-value
Диапазоны
Hash

Шардирование (advanced)

Шардирование вторичных индексов
Проблемы шардирования: перебалансировка
Рассказываем об production-решениях

Репликация и шардирование на System Design Интервью

Когда надо быть проще: embeddable СУБД (SQLite, chdb, duckdb etc и примеры на них)
On-premise (PostgreSQL, CH, MongoDB) vs cloud (AWS)
Основная боль System Design Интервью - когда, зачем и за сколько нужно масштабироваться
Примеры с реальных интервью
Итого:

Понимаешь как масштабировать Базу в связи с возросшими нагрузками
А также основные подводные камни на этом пути
6 Практика 1
Прорешивание 2ух популярных задач на System Design Интервью

Итого:

Применяешь полученные знания в real time проектирование
Получаешь в копилку две типовые задачи
Становишься сильно более подготовленным к результативному прохождению интервью
7 Практика 2
Прорешивание ещё 2ух популярных задач на System Design Интервью

Итого:

Применяешь полученные знания в real time проектирование
Получаешь в копилку две типовые задачи
Становишься ещё более подготовленным к результативному прохождению интервью
8 Архитектурная ката
Цель урока - проработка командного взаимодействия, навыка мозгового штурма и презентации

Получаем задания, делимся на команды и начинаем в комфортных условиях и ограниченном дедлайне проектировать ещё одну задачу.

Итого:

Прокачиваешь навык коммуникации
Подытоживаешь полученные знания, закрепляешь в навыки


Тариф База

7 занятий с теорией и практикой
Готовый фреймворк для построения масштабируемых систем
Проектирование 5-ти популярных систем
Дополнительные материалы для проработки
Доступ к общему чату с участниками и преподавателями
Подготовка к System Design интервью
Финальное занятие-игра — Архитектурная ката
Доступ к персональному серверу с реальными докер проектами в течение курса
Доступ к урокам на 1 год
Бонус

мастер-класс с переговорами о повышении оффера
мастер-класс «Как senior’у искать работу в 2025»
Цена 53200 руб




СКАЧАТЬ СЛИВЫ КУРСОВ