System Design Crash Course #3

Швидкий курс по System Design від Олексія Петрова
Online
Подія відбулась
System Design Crash Course #3
System Design Crash Course #3
Подія відбулась
Подія відбулась
Подія відбулась

Реєстрація на наступну конференцію Конференція DevOps fwdays'23 вже відкрита!

Що робити, коли просять дизайн системи на кшталт YouTube з його петабайтами відео та мільйонами користувачів? Twitter з сотнями тисяч людей, що пишуть свої думки приблизно з тією ж частотою, як ті з'являються у голові? Як би міг виглядати дизайн Clubhouse або TikTok? Сотні тисяч людино-годин роботи просять спроєктувати за 30-40 хвилин. Та і як має виглядати той дизайн? Що від вас очікують і який результат потрібен? Про що варто турбуватися, а про що ні? Як не впасти в ступор від поставленої задачі і видати хоч щось?

За мотивами доповіді "Як задизайнити Facebook за пів години або секрети System Design Interview, було створено “System Design Crash Course”.

Від спікера:

Я отримав досить багато запитань з приводу тих чи інших аспектів системного дизайну в цілому. Також були питання по процесу інтерв'ю із системного дизайну та деяких його етапів. Більше “лайфхаків”. більше кейсів і таке інше. Зрозуміло, що за 50 хвилин доповіді розкрити абсолютно все в достатній мірі було неможливо.

Тому пропоную на два дні зануритись у тему системного дизайну разом зі мною.

Аудиторія:

Цей курс орієнтований на Middle, Senior розробників, Team leads / Tech leads, Architects.

Формат:

Кількість учасників: до 40 учасників
Тривалість: 2 дні. Початок 2 липня об 11:00 (GMT+3).
Подія відбудеться українською мовою.
Подія повністю пройде онлайн, використовуючи Zoom.

Курс буде поділений на дві частини Distributed System Design Fundamentals та System Design in Practice, приблизно по 6 годин кожна.

Тренер Олексій Петров

— Solution Architect at Jain Irrigation Inc.;

— AWS Certified Solution Architect;

— Docker/Kubernetes apologist;

— MongoDB Certified Developer;

— TOP speaker at Fwdays conferences;

Twitter

Програма:

Distributed System Design Fundamentals

В цій частині ми розглянемо основні компоненти та принципи розподілених систем:

  • Deep dive у Networking
  • GeoDNS, Load Balancers, Cache, Proxy, Reverse Proxy, Rate Limiters, CDN
  • Підходи побудови High Availability систем.
  • Deep dive у Storage. Техніки вибору "правильної" БД під ваші потреби
  • Поговоримо про дерева та індекси LSM і B-Tree.
  • Розглянемо механізми та проблеми Replication і Sharding у базах даних.
  • Також обговоримо основні паттерни, що використовуються при побудові розподілених систем.
Та інше.

System Design in Practice:

Ця частина буде присвячена процесу System Design interview. Мені подобається саме такий формат практики у системному дизайні за декількома ознаками:

— Це супер корисні навички які можна використати при нагоді у співбесіді.

— Такий формат не дає розслабитися, оскільки має таймбокс у ~40 хвилин на дизайн всього рішення.

Прокрастинація наш великий ворог. Коли є задача на дизайн системи, можна ходити та довго думати з чого почати. Таким чином втрачаючи дорогоцінний час і залишаючись, по суті, на місці зі своєю задачею. Тому стислий формат змушує рухатися швидше.

Краще — ворог хорошого. А у нас задача видати хороший дизайн системи швидко. Тому спочатку розглянемо всі етапи інтерв'ю і побудуємо собі план дій. Потім, рухаючись за цим планом, задизайнимо дві різні системи. Пройдемо поетапно усі фази дизайну системи та відточимо теорію на практиці.

Відгуки:

Курс проводиться повторно, ділимось реальними відгуками з минулого разу (з дозволу учасників)

Частина курсу "Networking"
"Складна для сприйняття інформація подана доступно та зрозуміло. Деякі речі розібрано детально, що дозволяє заповнити певні пробіли у власних знаннях."

"Досить ясно, системно та зрозуміло пояснювалось те, що я довгий час не міг зрозуміти та систематизувати сам."
Частина курсу "Storage"
"Хороше узагальнення та класифікація різних типів Storage"

"Уся інформація систематизована, з прикладами, критеріями вибору, перевагами та недоліками. Супер."

"Лаконічність та корисна вижимка по термінах та описах з прикладами. Розбір практичних кейсів."
Частина курсу "Patterns"
"Фокус лише на важливих шаблонах проектування системи."

"Предметність частини, це було корисним."

"Дізнався нові і корисні для себе штуки :)"
Частина курсу "Interview Insights"
"Було цікаво послухати про те, як все-таки на такому високому технічному рівні знову звертають увагу на софт скіли, сподобався план, як витягувати опис продукту, який треба змоделювати."

"Класна тема з Summary і приблизним естімейтами, адже справді, коли намагаєшся зробити все точно, то можеш сильно загрузнути."

"Фреймворк про те, як систематизувати підхід до вирішення проблеми дизайну системи під час інтервью."
Частина курсу "Sytem Design Cases"
"Дуже реалістичний приклад, який дозволив мені зрозуміти свої помилки."

"Сподобалося виділення того факту, що тут присутній функціонал, який треба розділяти по навантаженню, як наприклад, завантаження відео, метаінформація і статистика."
Про курс загалом
"Загалом, формат здається доволі оптимальним. Втомлюєшся, звісно від кількості нової інформації, але навряд з цим можна було б щось зробити. Те, що запис відео буде доступний -- круто, можна потім буде на свіжу голову пройтись по вже вибудованій у голові структурі."

"Відчувається, що автор розуміє, про що говорить і це найголовніше. Відношення тих чи інших тем до курсу теж максимально прозоре, все круто."

"Вважаю правильним рішення щодо участі в цьому курсі. Отримав більш широкі знання та погляд на речі, що обговорювались сьогодні та будуть завтра. Дякую за плідну працю!"
Увійти
Або поштою
Увійти
Або поштою
Реєстрація через e-mail
Реєстрація через e-mail
Забули пароль?