System Design: A Comprehensive Guide
- Description
- Curriculum
- FAQ
- Reviews
The idea of this course is to give you a clear understanding of some key System Design concepts and a framework that helps you structure your interview and nail it.
You should go through this course in three scenarios:
-
If you have a System Design interview coming up and want a quick crash course
-
If you are designing a new system at work, and want to make sure you get it right
-
If you want to know how some FAANGs and other companies have built their systems
As part of this course, we’ll go through some of the conceptual things, some do’s and don’ts, and most importantly we’ll be looking at some of the biggest systems out there and how you could design those. There is a good probability that your next interview has one of these questions either exactly, or with some small variation.
Instructor Profile:
The Instructor of this course, currently works at Facebook and has in the past worked with some of the biggest companies in the world, and has himself designed some of the biggest systems out there. Also with his experience of taking and giving more than 500 System Design Interviews, he knows exactly how to crack a System Design interview. If you are planning to interview in near future, this course is a goldmine of information to help to succeed.
-
2Choosing the Right DBVideo lesson
Here, we'll look at which DB shall be used in what scenario.
We'll start off with simpler use-cases and towards the end, we'll look at some complex real-world scenarios that require a combination of multiple databases to be solved.
-
3Let's review our learningsQuiz
Let's see if you understood the contents of this section correctly
-
4System design for an E-Commerce app - like AmazonVideo lesson
In this video, we'll look at some key aspects of the System Design of an e-commerce application like Amazon, Walmart, Flipkart.
We'll try to answer some questions like:How to scale it to millions of users
How does their recommendation engine work
Where do they store all the user data
How can you build a system of your own that scales up to Amazon's level
And many more...
-
5System design on Google MapsVideo lesson
In this video, we'll look at how to design a Navigation app, like Google Maps, Apple maps.
We'll try to answer some questions like:
How to optimally calculate the route from Point A to Point B
How to store the enormous amount of data that's required to power such a system
How can you make it available to billions of users
How do you handle the ever-changing geographies, new areas, new roads, etc
How additional can you do with this data. Remember, location data is a goldmine of information
And many more...
-
6URL Shortner System DesignVideo lesson
One of the most common System Design Interview questions. If you are interviewing at 5-6 companies, one of them is definitely going to ask you this.
So let's look at how to design a scalable URL Shortner service like TinyURL
Specifically somethings like:
How to make sure that it can scale up to billions of requests
It should give us unique short URLs with absolutely no collisions
Some mathematics on how to choose the right length of the short URL
And some more...
-
7YouTube / Netflix System DesignVideo lesson
We'll look at how can you design a Video Streaming application like YouTube, Netflix, Amazon Prime, Hotstar, etc.
Key aspects that we'll look at are:
How can we make it scale to billions of users
Where would you store the Exabytes of content
How do you serve video content to the users at minimal latency
How do you make it work on low-end devices
Can you make it work for people with low-quality internet
What if someone uploads objectionable / Pirated content. How do you find it out
And the list goes on...
-
8Whatsapp System DesignVideo lesson
We'll now look at how can you design a chat application, something like Whatsapp, telegram, etc.
Key aspects that we'll look at are:
How can we make it scale to billions of users
is it possible to do it without storing the chats on the servers?
How do you make it real-time or at minimal latency
Can there be race conditions in chat systems
How do you make it work for a group chat
And the list goes on...
-
9Twitter System DesignVideo lesson
One of the most common System Design Interview questions. If you are interviewing at 5-6 companies, one of them is definitely going to ask you this.
Here, We'll look at how can you design a Social Network, like Twitter etc.
Key aspects that we'll look at are:
How can we make it scale to billions of users
How do you make sure that you can minimise the latency? People don't want to wait and see a loading sign, anymore.
What if someone posts objectionable content. How do you find it out
You have a massive number of tweets coming in every second, how do you handle that much data
How do you handle the images that people upload
How can you prioritise a user's view, and show them the tweets that they would like to see
And many more...
-
10Facebook / Instagram System DesignVideo lesson
We'll now look at how can you design a Social Network, like Facebook / Instagram.
This is more of an extension of Twitter and this system can handle 10x more scale.
Key aspects that we'll look at are:
How can we scale the Twitter system even further
How can we do it without using so much of memory (Caching is expensive)
What kind of additional analytics can you do
How do you monitor your systems and make sure you have a great uptime
And many more...
-
11Uber System DesignVideo lesson
Here, We'll look at how can you design a cab booking system, like Uber, Ola, Lyft, etc.
After watching this, you'll be able to answer some key questions like:
How do you find which is the best driver for a particular ride
How can we make it scale to billions of users and millions of drivers
How can you show the real-time location of a driver to a user
What's the most efficient way to store the cab location coordinates
And many more...
-
12Zoom System DesignVideo lesson
Let's look at how can you design a video conferencing system
After watching this, you'll be able to answer some key questions like:
Which protocols do you want to use for building such a system(it's not just UDP)
How can you establish a Peer to peer connection between two users
Video data is huge in size, how do you transmit the terabytes of data that the users generate
How can you make it look real-time and avoid lags
How can you handle when multiple people are on a call
And many more...
-
13Airbnb / Booking.com System DesignVideo lesson
Another very common interview problem: how can you design a Hotel Booking system, like Airbnb / Booking.com
After watching this, you'll be able to answer some key questions like:
How does Airbnb handle millions of its hotels and users
What would you do if you have just one room and multiple users trying to book it
If you were building a hotel booking system, how can you go about building it
Can you put in dynamic pricing based on demand/supply
And many more...
-
14Designing a large scale notification systemVideo lesson
Let's look at how can you build a scalable notification sending platform, that can be used to send notifications to billions of users.
This is usually always a part of your system design because usually, irrespective of what you are building, you'll end up having a system to notify your users about their orders, any messages they have received, their bill, or if their cab has arrived.
After watching this, you'll be able to answer some key questions like:
If your product has billions of users, and you need to send out billions of notifications, how to do that
How to make sure important notifications are always received
How to prioritise and choose which mode to use for sending notifications
How to make sure you are not bombarding your users
And many more...
External Links May Contain Affiliate Links read more