Открыто

System design [Тариф Стандарт] [Balun.Courses] [Повтор]

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 20 авг 2025.

Основной список: 11 участников

  1. 20 авг 2025
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

    Складчина: System design [Тариф Стандарт] [Balun.Courses] [Повтор]

    1.png

    Знакомая ситуация?
    • На собеседованиях 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 руб.
    Скрытая ссылка

    Повтор: https://v28.skladchik.org/threads/system-design-balun-courses.412596
     
    Последнее редактирование модератором: 20 авг 2025
    1 человеку нравится это.
  2. Последние события

    1. renil12_coi
      renil12_coi не участвует.
      24 сен 2025 в 11:55
    2. wildcad
      wildcad не участвует.
      18 сен 2025
    3. wildcad
      wildcad участвует.
      18 сен 2025
    4. legven
      legven участвует.
      15 сен 2025
  3. Обсуждение
  4. 15 сен 2025
    #2
    legven
    legven ЧКЧлен клуба
    Участвовал в 2023 году, но прослушал только сейчас. Воспроизвел ряд описание одного шаблона на мок-собеседовании как говорил лектор в 2023 году - и пожалел.
    Если вы как аналитик хотите получить БАЗОВЫЕ навыки по проектированию абстрактных сервисов и оценке требуемого железа в первом приближении.
    Программистам - только для гугления терминов дальше и понимания что вас ожидает.