System Design Crash Course #4

System Design Crash Course
Online
Event is over
System Design Crash Course #4
System Design Crash Course #4
Event is over
Event is over
Event is over

What should you do if you got asked to design a system like YouTube with its petabytes of storage and millions of users? Or Twitter with hundreds of thousands of people who write down millions of thoughts almost as quickly as they appear in their heads? What a Clubhouse or TikTok system design could look like?

Projects for hundreds of thousands of person-hours asked to be designed in 30-40 minutes timeslot. What should a system design look like? What kind of result do they expect to get from you? What should you worry about, and what's irrelevant? How do you avoid getting stunned and come up with at least something? How do you attack ambiguity?

Based on the conference talk "How to design a Facebook in 30-minutes or Acing System Design Interview".

From the speaker:

I'm getting numerous questions regarding various aspects of the system design and questions about the interview process and its phases after my talk. People want more lifehacks, system design cases reviewed, etc. It was impossible to cover all of this in just 50 minutes of a talk.

And that's why I offer a 2 days dive into the deep of system design with me.

Target Audience:

This crash course is designed for Middle/Senior Developers, Team Leads, Tech Leads, Architects.

Format:

Participants: up to 40 people
Duration: 2 days. Starting on July 23 at 11 a.m. (GMT+3)
Language: Ukrainian
The course will be hosted online in Zoom

System Design Crash Course consists of two major sections:

  • Distributed System Design Fundamentals
  • System Design in Practice

Each section should take about 6 hours or your time.

Trainer Oleksii Petrov

— Solution Architect at Jain Irrigation Inc.;

— AWS Certified Solution Architect;

— Docker/Kubernetes apologist;

— MongoDB Certified Developer;

— TOP speaker at Fwdays conferences;

Twitter

Course Syllabus:

Distributed System Design Fundamentals

In this section of the course, we'll review major components and principles of distributed systems, such as:

  • Deep dive у Networking
  • GeoDNS, Load Balancers, Cache, Proxy, Reverse Proxy, Rate Limiters, CDN
  • High Availability systems. How to.
  • Deep dive to Storage. How to select right Database
  • Indexes, LSM-trees, and B-Trees.
  • Replication and Sharding. How to.
  • Cover all the major patterns applied in distributed systems design.
And lots more!

System Design in Practice:

This section is dedicated to System Design interview process. I love this format of practice in System Design because of multiple reasons:

  • Its a super useful skill that you can use in interviews
  • It keeps you focused. With 40-minute timebox to design a solution, you don't have a time to chill.

Procrastination is our great enemy. If you got a system design task, you can get stunned and keep thinking about where to start. Spending a precious time and staying where you were hours ago.

Perfection Is The Enemy Of Done. And our task is to get a good system design done fast. That's why we'll cover all the stages of the interview and create our own "battle" plan. Then we'll move according to the plan and will design two different systems. Finally, we'll go step by step through the phases of the system design process and put the theory into practice.

Reviews:

Here you can see real reviews from participants of this course (with the permission of the participants)

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

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

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

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

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

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

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

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

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

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

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

"Вважаю правильним рішення щодо участі в цьому курсі. Отримав більш широкі знання та погляд на речі, що обговорювались сьогодні та будуть завтра. Дякую за плідну працю!"
Sign in
Or by mail
Sign in
Or by mail
Register with email
Register with email
Forgot password?