Системный анализ | Дмитрий Помаскин
1.37K subscribers
44 photos
150 videos
266 links
📍Обучение системному анализу
📍Полезные материалы для развития навыков
📍Разбор практических кейсов по системному анализу и архитектуре
📍Индивидуальные консультации (менторство)

Моя онлайн-школа:
https://system-analysis.skillspace.ru
Download Telegram
‼️Запись открыта‼️

07.02 12:00 МСК Event-Driven Architecture.

Для записи переходите по ссылке 👈

🔼Выше продолжаем выбирать тему занятия 08.02, итоги подведём завтра в 16:00 МСК🔼

P.S. Прилетела от ученика интересная задачка с собеса по system design, постараюсь завтра вечером сделать разбор.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
❗️08.02 12:00 МСК Проектирование REST API❗️

С большим отрывом побеждает REST API 🏁

🕒Запись будет открыта сегодня в 18:00 МСК.

Тема: Проектирование REST API.
Уровень: junior.
Требуемые навыки: Умение читать ER-диаграмму.
Кол-во участников: до 4.
Длительность: ~4 часа.
Программа:
Форматы данных;
HTTP-методы и их свойства;
REST и RESTfull;
Обработка ошибок в синхронных интеграциях.

Практика:
Проектирование REST API для нового сервиса;
Внедрение пагинации и фильтрации;
Swagger;
Postman.

P.S. Новый разбор уже записал, сжимаю видео и публикую:)

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Media is too big
VIEW IN TELEGRAM
❗️Новая задачка по System Design❗️

Ссылка youtube

Эту задачку успешно решил один из учеников во время собеседования на позицию middle💪

Условия задачи:

Внедрить функциональность промокодов в существующий маркетплейс.

🔸Много типов промокодов: Скидка на первый заказ, скидка на определенную категорию товаров, бесплатная доставка, подарочный промокод на день рождения, персональная скидка от менеджера.

🔸Промокод должен иметь лимит использований, срок действия, может быть привязан к минимальной сумме заказа.

🔸Если система промокодов полностью упадет, пользователи все равно должны иметь возможность совершить заказ (но без промокода).

🔸Маркетологам нужны детальные отчеты: какие промокоды работают, конверсия, использованные/неиспользованные промокоды.

🔸Состав системы текущий: сервис пользователей, сервис заказов, сервис каталога, общая Kafka.

P.S. Напоминаю, что запись на EDA 07.02 уже открыта и там ещё есть места🫡

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍8🔥6👏3
‼️Запись открыта‼️

08.02 12:00 МСК Проектирование REST API.

Для записи переходите по ссылке

🔼Выше выложил разбор новой задачи по system design🔼

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
❗️Места на интенсивах❗️

Текущее состояние мест на эти выходные:
🔴 07.02 EDA - 1 место;
🟢 08.02 REST API - 3 места.


О том, как проходят занятия, рассказывал в этом посте.

Запись тут👇
Event-Driven Architecture
Проектирование REST API

P.S. Занятия провожу, даже если группа не наберётся целиком.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
❗️REST API 08.02❗️

Осталось 2 места на занятие по проектированию REST API.

ЗАПИСЬ
👇

Проектирование REST API

О том, как проходят занятия, рассказывал в этом посте.

P.S. Занятия провожу, даже если группа не наберётся целиком.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
🆕 Новая тема интенсива: Базы данных (middle) 🆕

Уровень: Middle.
Требуемые навыки: Понимание принципов работы распределённых систем, ER-диаграммы.
Кол-во участников: до 4.
Длительность: ~4 часа.
Программа:
ACID;
CAP теорема;
Выбор СУБД и способы применения;
Кластеризация;
Партиционирование;
Шардирование;
PostgreSQL (WAL, JSONB).

Практика:
System design с уклоном в БД;
Внедрение и обоснование кластеров;
Проектирование модели данных PostgreSQL с использованием JSONB.

P.S. Запись будет открыта завтра (09.02) в 16:00 по МСК.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17
‼️Запись открыта‼️

15.02 12:00 МСК Базы данных (middle).
28.02 12:00 МСК Базы данных (middle).

Для записи переходите по ссылке

P.S. Слоты на новые темы разбирают достаточно быстро, так что не откладывайте :)

UPD: Группа на 15.02 набрана

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
Media is too big
VIEW IN TELEGRAM
❗️Веселые истории про смену работы: добыча руды❗️

Пятое видео про смену работы, в котором я пытался устроиться в шахту👷‍♂️

Если вы пропустили первые части:
🔸 Про резюме;
🔸 Про HR;
🔸 Про iGaming;
🔸 Про маркетплейс.

Если у вас появляются вопросы, обязательно пишите их в комментариях, обсудим👍

P.S. На интенсив по БД осталось всего 2 места, оба на 28.02 12:00 МСК.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
4😁12🔥5
Media is too big
VIEW IN TELEGRAM
❗️Single responsibility principle❗️

Ранее разбирал задачку по system design и обещал рассказать отдельно про подходы, которые применял при решении.

Первое, о чём я упоминал, был принцип единственной ответственности.

Single responsibility — сервис отвечает только за одну функцию.

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

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍5🔥4
‼️Одно место на сегодня‼️

На сегодняшнее занятие по базам данных освободилось одно место.

Начало через час, в 12:00 МСК.

Для записи переходите по ссылке

Мест в группе на 28.02 не осталось.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Media is too big
VIEW IN TELEGRAM
❗️Веселые истории про смену работы: финтех❗️

Шестое видео про смену работы, на этот раз банк 🏦

Если вы пропустили первые части:
🔸 Про резюме;
🔸 Про HR;
🔸 Про iGaming;
🔸 Про маркетплейс;
🔸 Про шахту.

Это последняя история, которую можно отнести в формат "что-то пошло не так".

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥7🤯5😁3
Media is too big
VIEW IN TELEGRAM
❗️Обработка исключений❗️

Ранее разбирал задачку по system design и обещал рассказать отдельно про подходы, которые применял при решении.

Второй аспект, о котором я говорил, — это обработка исключений.

‼️ Предусматривать сценарии обработки ошибок — это супер важно.

Я уже много раз про это говорил и в постах, и на практических занятиях, но ещё раз напомню:

При решении любой задачи нельзя опираться только на положительные сценарии работы.

Всегда помните про поведение системы при возникновении исключений. Все ошибки должны корректно обрабатываться.

Это касается и решения задач на собеседованиях, и проектирования боевых систем.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥8👍4
Media is too big
VIEW IN TELEGRAM
❗️Circuit Breaker❗️

Сегодня разбираем следующий аспект, который я использовал при решении задачи по system design.

Circuit Breaker — паттерн, который предотвращает каскадные сбои в системе путем автоматического прекращения вызовов к неисправному сервису на определенное время.

Имеет три состояния:

🟢Closed: Запросы проходят к сервису. Штатное поведение системы.

🔴Open: При накоплении ошибок "выключатель" активируется. Запросы к проблемному сервису не отправляются, выбрасывая исключение. Это дает сервису время восстановиться.

🟡Half-Open: Через заданное время "выключатель" пропускает несколько запросов. Если они успешны — цепь снова замыкается (Closed). Если нет — снова размыкается (Open).

Зачем нужен:
Защищает систему от бесконечных таймаутов и зависаний.

Позволяет проблемному сервису восстановиться, не будучи заваленным повторными запросами.

P.S. Немного оговорился на видео, перезаписать не успел, поправил * в субтитрах.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
30👍8🔥4
🗓 Интенсивы марта 🗓

Расписание занятий на март:
🔸7.03 Суббота
🔸14.03 Суббота
🔸15.03 Воскресенье
🔸21.03 Суббота

Все занятия пройдут в 12:00 по МСК.

Темы занятий по классике выберем голосованием.

Для тех, кто не понимает, о каких интенсивах речь, рассказал тут.

Описание программ:
🔸REST API;
🔸
Базы данных (с нуля);
🔸Базы данных (middle);
🔸
Брокеры сообщений;
🔸
Функциональные требования;
🔸
Event-Driven Architecture;
🔸
Нотация С4.

❗️Новых тем в марте не будет, хочу успеть запустить новый формат! Скоро расскажу все детали отдельным постом 🫡

А пока предлагаю выбрать тему занятия 7.03 👍

❗️Как и всегда: голосуйте, только если сможете посетить занятие :)

Опрос ниже👇

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍1
‼️ В опросе была опечатка, прошу проголосовать ещё раз.
Прошу прощения 😐
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️07.03 12:00 МСК Event-Driven Architecture❗️

В упорнейшей борьбе, с отрывом всего в 1 голос (21 против 20), побеждает Event-Driven Architecture 🏁

Те, кто голосовал за другие темы, не расстраивайтесь. Повторов в следующем месяце не будет, поэтому есть ещё 3 занятия 14, 15 и 21 марта🫡

🕒Запись будет открыта сегодня в 18:00 МСК.

Уровень: Middle+.
Требуемые навыки: Понимание принципов работы распределённых систем, Apache Kafka.
Кол-во участников: до 4.
Длительность: ~4 часа.
Программа:
Немного общей теории по распределенным системам;
Что такое "событие";
Что такое EDA;
Сильные и слабые стороны EDA;
Модели данных для EDA;
Мониторинг в EDA.

Практика:
Проектируем EDA систему с нуля;
Готовим схему расположения сервисов;
Расширяем функционал системы с использованием имеющихся событий;
Внедряем в систему мониторинг.

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3
Запись открыта

07.03 12:00 МСК Event-Driven Architecture.

Для записи жмите сюда 👈

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Media is too big
VIEW IN TELEGRAM
❗️Веселые истории про смену работы: задачи❗️

Как и обещал, собрал топ 3 самых популярных задач, которые давали на технических собесах:

1️⃣Разделение чтения и записи — классическая задача, которую много раз разбирал на канале, а также часто решаем подобные задачи на интенсивах. У меня даже был небольшой гайд.

2️⃣Проектирование нового модуля для системы — задачи максимально приближены к тем, что дают системным аналитикам в секции system design. Дополнительно просят посчитать сайзинги и детально обосновать выбор какой-то из использованных технологий. Похожий пример разбирал в цикле видео по system design.

3️⃣Полнотекстовый поиск — удивительно, но задача до сих пор актуальна. Всё упирается в правильное использование любой технологии FTS. Пример таже разбирал.

Если вы пропустили первые части:
🔸 Про резюме;
🔸 Про HR;
🔸 Про iGaming;
🔸 Про маркетплейс;
🔸 Про шахту;
🔸 Про банк.

P.S. А на субботу ещё есть 2 свободных места, запись тут :)

Системный анализ | Дмитрий Помаскин
Please open Telegram to view this post
VIEW IN TELEGRAM
23🔥6👍2