System Design Crash Course #1

System Design Crash Course by Oleksii Petrov
Event is over
System Design Crash Course #1
System Design Crash Course #1
Event is over
Event is over
Event is over

Buy tickets for the next conference Highload fwdays'24 conference!

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 6-hour 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.


Participants: up to 30 people
Duration: about 7 hours. Starting on May 28th 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 3 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;


Course Syllabus:

Distributed System Design Fundamentals

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

  • Load Balancers, Cache, Proxy, Reverse Proxy, Rate Limiters, Relational Databases, Key-Value stores, NoSQL solutions, etc.
  • Explore the Networking and the path to High Availability systems.
  • Latency and Throughput.
  • Examine the ways of Replication and Sharding in databases. Reveal the pros and cons of each of the approaches.
  • Indexes, LSM-trees, and B-Trees.
  • 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.

Sign in
Or by mail
Sign in
Or by mail
Register with email
Register with email
Forgot password?