TGViewer
Channel Public Channel
System Design World

System Design World

@system_design_world

Улучшаем навыки проектирования систем вместе! Готовимся к System Design Interview.

Автор - Старший бэкэнд разработчик HighLoad систем, специалист кибербезопасности Невзоров Владимир - @vova_dev
Subscribers
6.02K
Photos
469
Videos
27
Links
266

Showing posts older than #124 · Back to latest

Older Posts 17 shown
Post #121 2.02K
🧩 HTTP + Нина. Зажигательная комбинация!

😇 Мне посчастливилось улучшить понимание HTTP 2 раза.

1️⃣ Первый - послушал вживую доклад Нина Пакшиной про HTTP3.
Очень ёмко, последовательно и структурировано Нина освятила:
1) Эволюцию HTTP
2) Различие в транспорте 2 и 3 версий HTTP
3) QUIC vs TCP
4) Работу HTTP/3 в Go
Если хочешь улучшить своё понимание работы этого популярного протокола, запись доступна здесь!

2️⃣ Второй - Нина напишет на канале ряд постов про HTTP!😊

💪 Двойная польза
Да-да, реализуется тот самый двойной формат подачи, о чём писал ранее:
1) На канале размещается видео контент;
2) А также полезная информация в формате постов, для тех кому ближе чтение.

👩🏼 Нина - кто ты?
Давайте познакомимся с Ниной ближе - новым автором канала!

Нина, привет! Я знаю тебя как старшую разработчицу Go и активную участницу Московского Клуба Программистов. Ничего не перепутал? 😊

Да, все верно. Когда я присоединилась к Московскому клубу программистов, я программировала ПЛК (контроллеры для автоматизации промышленных объектов) Потом несколько лет писала на Python в онлайн ритейле. И уже три года пишу на Go!

В какой команде ты работаешь, за что отвечаешь?

На своей основной работе в Ленте Онлайн я работаю в команде операций. У меня большой стек задач, который включает сбор статистики, управление персоналом и заказами. В команде мы работаем с большим количеством микросервисов, основная часть из которых написана на Go.

Что больше всего нравится в твоей работе?

Мне нравится, что в нашей команде очень много технически сложных задач, а также современный технологический стек. Одна из моих последних разработок - это проектирование и развитие микросервиса по распределенному сбору информации статистики и расчетов параметров эффективности работы персонала.

На митапе ты сказала, что решила сделать доклад, потому что самой было интересно разобраться как в самом протоколе HTTP3, так и в его реализации на Go.
Откуда взялось такое желание?

Я работаю в IT области уже больше 13 лет. Работала в области промышленной автоматизации, кибер безопасности, онлайн ритейле. И постоянно моя работа очень тесно была связана с сетями передачи данных, а конкретно с протоколами стека TCP/IP. За развитием QUIC и HTTP/3 я слежу с 2020 года. И считаю, что за ними большое будущее как в ритейле, так и в промышленных сетях.

Стоит ли использовать HTTP/3 в своих проектах и есть ли у него перспектива?

HTTP/3 уже поддерживается почти всеми популярными браузерами и 30% сайтов в интернете работают с HTTP/3.
Вы можете ускорить взаимодействие пользователей с вашим веб-приложением. А как именно - смотрите доклад или ждите постов!

Классно!

Я уже списывался с тобой по поводу идеи по написанию серии постов про HTTP. Давай ещё раз спрошу в рамках этого небольшого интервью - как тебе идея написать несколько постов по HTTP, поделится своим видением протокола, его эволюцией? :)

Это отличная идея, в самом ближайшем посту я расскажу про первые две версии HTTP - 0.9 и 1.0, а в дальнейшем освещу особенности версий 1.1, 2.0 и 3.0.

Желаю тебе удачи! И если участникам сообщества посты заходят, чтобы смело ставили лайки за твои старания!

👏 - поддержим начинание нового автора!

Ссылка на доклад Нины

#Protocols #HTTP
YouTube Чего ожидать от HTTP/3 + Go Видео трансляции с митапа Московского Клуба Программистов 22 мая 2024 года в Умном городе. В докладе рассказывается про HTTP/3 в контексте языка Go. 02:15 - Предубеждение 1: HTTP/2 кардинально отличается от HTTP/3 09:20 - Предубеждение 2: HTTP/3 поверх UDP…
  • 🔥 14
  • 👏 9
  • ❤ 1
Post #120 1.77K
⭐️ Стартовал архитектурный хакатон ARCHI.Tech от ВТБ

🎓 Вчера состоялся митап-открытие. На нём организаторы описали ожидаемый результат от решения будущей основной задачи, которую предоставят 28.06.24.
Также показали своё решение демо задачи. И разминочную задачу, за которую можно получить дополнительные 3 балла.

📝 Мы сразу же собрались командой и создали скелет решения.
Старались освятить все пункты ожидаемого результата:
1) Функциональная структура
2) Архитектура данных
3) Архитектура системы
4) API взаимодействия с пользователем
5) API взаимодействия компонентов
6) Архитектура развёртывания

⚙️ Причесать решения нужно успеть до 28.06. До этого числа можно и зарегистрироваться.

❓ А ты участвовал в хакатонах? Как считаешь, какая от них польза?

⚡️ Если задача интересна и хочешь увидеть её разбор, ставь лайк, соберёмся после хакатона.

#Hackathon
  • 👍 26
Post #119 2.21K
📣 Архитектурная ката на финишной прямой!

🎢 Собираемся в команды и поехали 23.06.2024 в 15:00!

🧾 План мероприятия:
1) Общая встреча участников и организаторов. Знакомство. Распределение по командам.
2) Презентация задачи.
3) Q/A секция - уточняющие вопросы от команд, ответы.
4) Проектирование.
5) Презентация решений.

Регистрация заканчивается с наступлением 20.06.2024.

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

И, всё-же, в онлайн гораздо круче) Поэтому ждём участников любого уровня. Главное, чтобы с горящими глазами🤩

✍️ Отмечайся в чате System_Design_Chat. Вначале ответь боту кто ты.
Затем:
1) Хочу участвовать в Архитектурной Кате 23.06.2024
2) Готов быть лидером команды

👍 - ставь палец, если идея нравится)

#ArchitecturalKata
  • 👍 15
Post #115 2.04K
🎂 Офлайн встреча участников сообщества.

⚡️ На торте была надпись "900". Хотя, совсем недавно цифра 700 мотивировала на проведение встречи :)

Посидели ёмко. За 3 часа успели:
1) Познакомиться
2) Пройти System Design Quiz
3) Задизайнить задачу от Yandex с осеннего HighLoad++
4) Разыграть и вручить призы

Поговорили про интересные реальные System Design кейсы.

Следующая активность - Архитектурная Ката. Затем встреча онлайн, за которую проголосовали 38 участников. На ней обсудим кату, порешаем Quiz.
Так что, не переключайтесь! 😊

▶️ Какие ещё есть идеи для совместных активностей?
  • 👏 16
  • 👍 7
  • 🔥 3
  • ❤ 1
Post #114 1.98K
📦 Файловое хранилище спроектировано. Полюбуйтесь!

✴️ Чёткое проектирование по шагам. Кандидат видел основную линию дизайна. Делал отсылки к дополнительному функционалу. Один из которых - построение аналитическое подсистемы - в конце и реализовал.

🎟 Из фишек самого видео - вставлены визуальные памятки наступления очередных этапов. Добавлены заметки на полях в качестве дополнительного обучающего слоя чтобы польза от просмотра видео для Вас была максимальной.

😊 Приятного и полезного просмотра!

❓ Как считаете, реализация какой части функциональных требований оказалось самой сложной?

https://youtu.be/t4akRxFCAHc

#Interview
YouTube System Design Dropbox Запись стрима по проектированию файлового хранилища. Дизайн проходил в инициативном порядке поэтапно с уточнением нужного функционала. ⭐️ Подготовка к System Design Interview: https://t.me/system_design_world - материалы, cheat sheets, тренировочные моки…
  • ❤‍🔥 8
  • 👍 6
  • ❤ 2
Post #113 1.62K
⭐️Анонс проектирования файлового хранилища

Состоялась серия System Design Interview с коллегами, посвященная проектированию сервисов-аналогов dropbox/google drive.

Как и в случае с youtube такой массовый заход на одну задачу позволит лучше погрузиться в её тематику.
Благодаря изучению набора становится понятней, что:
1️⃣ Идеального решения не существует;
2️⃣ Каждый интервьюер расставляет свои акценты;
3️⃣ Интервьюер не обязательно знает больше твоего и других интервьюеров :)

Часть интервью будет переложена в текст. Часть останется в формате видео. Каждый сможет выбрать что ему сейчас заходит лучше.

✅ Такое массовое изучение одной темы увеличивает шансы на успешное прохождение.
▶️ Совсем скоро будет выложен первый разбор. Тот самый 1ый стрим с Максимом :) Стараюсь дополнить само решение комментариями так чтобы в добавок к основной нити, что вёл кандидат(и у него это отлично получилось!) выстроить ещё один обучающий слой в виде заметок, пожеланий.

😊 А какая задача из System Design Вам нравится больше всего?

#Interview #Pack
  • 👍 10
Post #112 1.61K
⚡️ System Design Stream. 1ый пошёл!

👥 Сегодня проведём сессию проектирования системы вместе с Максимом, выразившим своё желание в посте-анонсе стримов.
Заходи, будет горячо!)

▶️ Ссылка на видеовстречу:
https://telemost.yandex.ru/j/52591761468172
Старт в 20:00.

#Stream #Interview
  • 🔥 7
Post #111 1.8K
🔌 TCP соединение для System Design. Как всё начинается и почему так дорого?

🚚 TCP является протоколом транспортного уровня. В модели OSI располагается на уровне L4. Является базой для верхнеуровневых протоколов - HTTP, WebSocket, ...

Он обеспечивает в том числе:
✅ Гарантию доставки пакетов
✅ Гарантию сохранения порядка следования пакетов

Для реализации таких гарантий сторонам необходимо договориться о стартовых номерах - sequence number. Для этого придётся сделать 3 пересылки.

Junior level:
1. Клиент выражает своё желание установить соединение для отправки сообщений.
2. Сервер отвечает согласием и желанием отправлять сообщения со своей стороны.
3. Клиент отвечает, что согласие и желание принял.
🤝 Отсюда и возник термин "Трёхкратное рукопожатие".

Middle level:
1. Клиент отсылает пакет с:
• Проставленным флагом SYN(SYNхронизировать стартовый номер)
• Сгенерированным sequence number(client).
2. Сервер отвечает пакетом с:
• Проставленным флагом ACK: "Подтверждаю, что принял"
• Acknowledgment number = sequence number(client) + 1
• Проставленным флагом SYN и своим сгенерированным sequence number(server)
3. Клиент отвечает пакетом с:
• Проставленным флагом ACK
• Acknowledgment number = sequence number(server) + 1
• sequence number(client) + 1
После этого соединение считается установленным.

Senior level
Далее sequence number будут служить для реализации логики подтверждения доставки и упорядочения пакетов в случае, если они пришли не по порядку, потерялись. Число выбирается по определенному алгоритму. Это не полный random и не ноль. Хотя в том же wireshark для удобства рассмотрения первому sequence number присваивается 0 с пометкой "relative".

Итого
В контексте рассмотрения TCP соединения можно выделить:
✅ Преимущество протокола - создание сессии, гарантированная доставка пакетов в ней
❌ Недостаток - относительно "дорогая" процедура создания сессии.

▶️ Как часто на интервью Вас спрашивают про протоколы?

👏 - формат поста с графикой и описанием зашёл полностью
👍 - пост нормальный, больше графики
⚡️- пост нормальный, больше текста
🤔 - есть ещё идеи, напишу в комментариях

#Protocols
  • 👍 22
  • 👏 15
  • ⚡ 8
Post #110 1.61K
🧑‍🦱 Обещанная офлайн встреча состоится 9.06.2024(воскресенье) в "The Бык" на Тульской в 12:00.

🫓 Зарезервирован максимальный столик на 15 человек.
Финальная фиксация участников и стола в пятницу в 18:00.

🙋‍♂️🙋‍♀️Отмечаемся в только что созданном System Design Чате кто придёт.
  • 👍 4
Post #109 1.72K
🎉 Рождение System Design чата!

💪 Сообщество System Design World доросло до собственного чата!

⭐️ В нём мы сможем:
1) Находить партнёра для System Design интервью
2) Определяться с темами стримов, кат, временем их проведения
3) Общаться про архитектуру высоконагруженных отказоустойчивых систем, вредные и полезные паттерны проектирования
4) Намечать встречи
5) Обсуждать задачи с реальных собеседований
6) Делиться мечтами и помогать друг другу :)

⚙️ Настроен бот с приветственным сообщением - приглашением представиться c проставлением хэштега #whois.
Ответное сообщение от нового участника с ответами и тегом необходимы для защиты от ботовых активностей и для более легкого знакомства :)

🖐 Добро пожаловать в System Design Chat!
  • 👍 6
Post #108 1.68K
👉 Больше активностей!

✴️ Запросов много не бывает! Только бы хватило рук🙌 и времени!⏱

1. Участники стримов подтвердили своё участие. Скоро начнём практиковаться.
2. Билет на Saint HighLoad++ куплен. На конференции много докладов, полезных для System Design. Постараюсь написать статью, как в прошлый раз. Кто едет?)
3. Одобрили мою заявку на проведение открытого System Design Interview на летнем ProIT Fest. Буду проводить в рамках backend сессии. Кто едет?)
4. Архитектурная ката в процессе создания. Встречались с Игорем и Евгенией для выработки плана. Обсудили задание, технические детали.
5. Для офлайн и онлайн встречи придумал идею quiz по нашей тематики. Также пришла идея призов)

☀️ Так что лето обещает быть жарким на активности.
Чтобы продвигаться чуть быстрее буду рад помощи - подготовка quiz, настройка стрима.

▶️ А как Вы планируете провести лето? :)
  • 👍 6
  • 🔥 4
Post #106 1.98K
🅰️ Архитектурную кату надо?

▶️ Принял участие в Podlodka Techlead Crew.
В рамках конференции были интересные доклады про архитектуру, архитекторов, техлидов, DDD.
А также обсуждение не под запись и она - архитектурная ката.

➕ Её суть в развитие навыков создания отказоустойчивых высоконагруженных систем командами с последующей презентацией решения.
Знакомый System Design только в команде.

1️⃣ Первым этапом организаторы объясняли суть системы, функциональные и нефункциональные требования, ждали и отвечали на вопросы.
2️⃣ Затем мы разбежались по zoom комнатам где и стали творить.
3️⃣ На защите решения была хорошая поддерживая атмосфера. Скорее делились знаниями, чем топили друг друга😀

❓ Вопрос на миллион - хотим в рамках нашего сообщества устроить такую активность?

👏 - Аплодирую стоя, идея отличная, надо делать!
👍 - Хорошая активность, но не горю
  • 👏 33
Post #105 1.8K
🥇 Лидер года найден!

👍 Более 900 просмотров, 40 лайков! Такого я точно не ожидал!

📈 Видео с дизайном youtube и визуальными комментариями-вставками значительно опередило остальные!

🙂 Признаться, при проведение дизайна, выработке идеи как его преподнести, чтобы увеличить пользу для изучающих и не думал, что результат будет таким мощным)

❓ Стоит ли продолжать делать дизайн и монтаж в таком формате?
⚡️ - конечно, классно получилось!
👍 - нормальный обычный разбор, главное делать новые
🤔 - просто смотрю пост

🔽 Есть что дополнить? You are welcome!
  • ⚡ 23
  • 👍 1
Post #104 2.01K
🎁 Бонусное интервью - публичный дизайн youtube стримов

👨‍💻 Пригласили ребята с дружественного канала FAANGTalks на публичное собеседование.
Выпала задача, очень близкая к паку из 4ёх дизайнов youtube выше - спроектировать механизм стримов.

✴️ Какие-то элементы по дизайну выпадали из поля видимости. Получалось брать инициативой. Представлял структуру интервью, последовательность нужных шагов, старался им следовать.

☝️ Из главного я бы отметил важность указания протокола поточного вещания. В конце поговорили про udp, WebRTC.

🔽 Старт stream сессий публичного интервью неуклонно приближается. Какую платформу для вещания можете порекомендовать?

#Interview

https://www.youtube.com/watch?v=vRyEhvkjiPw
YouTube #FaangTalk 60 Mock System Design Interview Канал с анонсами https://t.me/faangtalk_news Чат по подготовке к интервью: https://t.me/faangtalk
  • 👍 5
  • ❤ 2
Post #103 1.81K
😕 Дизайнить станет ещё сложней

🌩 "Google Cloud" в результате цепочки событий уничтожил инфраструктуру пенсионного фонда.
Фонду повезло(спасибо инженерам?), что сделали бекап у другого облачного провайдера.

🤔 Возможно теперь на собеседованиях в добавок к распределениям по зонам доступности(Availability Zone) будут оценивать предложит ли кандидат дубликацию у другого провайдера.

Не участились ли подобные аварии?

#RealLifeExample

https://habr.com/ru/news/813439/
  • 👍 10
Post #102 1.79K
🔠онны свободы и минимум вопросов

✅ Финальное 4ое интервью по теме youtube завершено!
Опубликованный набор позволяет понять специфику данной задачи, популярные вопросы.

✈️ Особенностью данного собеседования было то, что интервьюер(спасибо Alex!) дал максимум свободы.
Перешёл в режим слушателя. Спрашивал редко, но метко. Чувствовалось, как от корректности и полноты ответов зависит успех прохождения.

❓ Интервью можно смотреть фокусируясь на вопросах интервьюера. Попытаться понять, что именно он хотел узнать. И насколько ответ был дан в полном объёме.

🎟 Из фишек самого видео - вставлены визуальные памятки наступления очередных этапов и их особенности.

😊 Приятного и полезного просмотра!

🔽 Как считаете, остались ли неосвещенные вопросы по теме проектирования youtube?

https://www.youtube.com/watch?v=WDEiIz3WtgA

#Interview
YouTube Интервью по System Design. youtube Проектируем youtube с необычным интервьюером, который предоставил максимум свободы по проектированию, смене этапов интервью. Вопросы задавались не часто, зато в точку. Чувствовалось как от моего ответа зависит успешность прохождения. ⭐️ Подготовка к System…
  • 👍 7
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →