System Design Crash Course #1

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

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

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

Від спікера:

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

Тому пропоную 6-ти годинне занурення у тему системного дизайну разом зі мною.

Аудиторія:

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

Формат:

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

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

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

— 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

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

  • Load Balancers, Cache, Proxy, Reverse Proxy, Rate Limiters, Relational Databases, Key-Value stores, NoSQL solutions та інші.
  • Networking та підходи побудови High Availability систем.
  • Latency і Throughput.
  • Розглянемо механізми та проблеми Replication і Sharding у базах даних.
  • Поговоримо про дерева та індекси LSM і B-Tree.
  • Також обговоримо основні паттерни, що використовуються при побудові розподілених систем.
Та ще багато іншого.

System Design in Practice:

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

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

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

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

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

Увійти
Або поштою
Увійти
Або поштою
Реєстрація через e-mail
Реєстрація через e-mail
Забули пароль?