[Complete] System Design Roadmap with Videos for SDEs

This is a definitive roadmap of system design for software engineers with no prior experience on the subject. If you are someone preparing for interview rounds of Google, Facebook, Amazon, Netflix. Look no further.

At the end of this article, you will be confident about cracking system design interviews with a roadmap of different topics and questions. Also, you will be well prepared before joining these companies, as you will have adequate knowledge.

Additionally, you can check Gaurav’s course, we at takeuforward highly recommend it out of all available in the market, because of the pricing[lifetime validity], the quality of the lectures, and the amazing forum with so many talented engineers including managers, leads, and directors.

For DSA, check out our A2Z Course with 455 modules: Link

Why System Design?

Large companies have large user bases. These users are spread across the world, and expect their web requests to be loaded quickly and reliably.

Keeping users happy is directly proportional to company revenue. Hence, it makes sense for a company to build its computer systems so they may continue to function despite problems:

1. Disasters (Tsunami, Fire, etc.)

2. Power outages (Legal issues, bill payments, etc.)

3. Hardware failures (Computer crashes, clock skew, etc.)

4. Software Failures (Incompatible upgrades, OS fault, etc.)

As an engineer, it’s our job to expect and mitigate these problems. Instead of fixing issues reactively, system design solves these problems proactively.

Even before a single line of code is written, the engineers discuss how to meet requirements, the possible problems that can occur, and how to tackle them.

In short,billions of dollars are on the line, because trusted websites get happy customers!

Where do I start with System Design?

CAUTION: Don’t hunt all the “How to Start” videos before you start! When you come across something you don’t know, study it in depth and return to the topic.

For search trees with infinite depth, DFS is more efficient than BFS!

The following plan will set you on the path to mastering these best software engineering practices, which is also known as system design:

Part 1: Basics
(0/12)

Action Problem [Articles, Codes] Solution Notes Company
What is System Design?
Horizontal vs. Vertical Scaling
What is Capacity Estimation?
What is HTTP?
What is the Internet TCP/IP stack?
What happens when you enter Google.com?
What are Relational Databases?
What are Database Indexes?
What are NoSQL databases?
What is a Cache?
What is Thrashing?
What are Threads?
Part 2: Load Balancing
(0/3)

Action Problem [Articles, Codes] Solution Notes Company
What is Load Balancing?
What is Consistent Hashing?
What is Sharding?
Part 3: DataStores
(0/5)

Action Problem [Articles, Codes] Solution Notes Company
What are Bloom Filters?
What is Data Replication?
How are NoSQL databases optimized?
What are Location-based Databases?
Database Migrations
Part 4: Consistency vs. Availability
(0/3)

Action Problem [Articles, Codes] Solution Notes Company
What is Data Consistency?
Data Consistency Levels
Transaction Isolation Levels
Part 5: Message Queues
(0/4)

Action Problem [Articles, Codes] Solution Notes Company
What is a Message Queue?
What is the publisher-subscriber model?
What are event-driven systems?
Database as a Message Queue
Part 6: DevOps Concepts
(0/6)

Action Problem [Articles, Codes] Solution Notes Company
What is a Single Point of Failure?
What are Containers?
What is Service Discovery and Heartbeats?
How to avoid Cascading Failures?
Anomaly Detection in Distributed Systems
Distributed Rate Limiting
Part 7: Caching
(0/4)

Action Problem [Articles, Codes] Solution Notes Company
What is Distributed Caching?
What are Content Delivery Networks?
Write Policies
Replacement Policies
Part 8: Microservices
(0/2)

Action Problem [Articles, Codes] Solution Notes Company
Microservices vs. Monoliths
How monoliths are migrated
Part 9: API Gateways
(0/2)

Action Problem [Articles, Codes] Solution Notes Company
How are APIs designed?
What are asynchronous APIs?
Part 10: Authentication Mechanisms
(0/3)

Action Problem [Articles, Codes] Solution Notes Company
OAuth
Token Based Auth
Access Control Lists and Rule Engines
Part 11: System Design Tradeoffs
(0/6)

Action Problem [Articles, Codes] Solution Notes Company
Pull vs. Push
Memory vs. Latency
Throughput vs. Latency
Consistency vs. Availability
Latency vs. Accuracy
SQL vs. NoSQL databases
Part 12: Practice Problems
(0/17)

Action Problem [Articles, Codes] Solution Notes Company
System Design of a Live-Streaming App
System Design of Instagram
System Design of Tinder
System Design of WhatsApp
System Design of TikTok
System Design of an Online Coding Judge – …
System Design of an Online Coding Judge – …
System Design of UPI Payments
System Design of IRCTC
System Design of Netflix Video Onboarding …
System Design of Doordash
System Design of Amazon Online Shops
System Design of Google Maps
System Design of Gmail
System Design of a Chess Website
System Design of Uber
System Design of Google Docs
Part 13: Additional Resources
(0/3)

Action Problem [Articles, Codes] Solution Notes Company
InterviewReady Course
GitHub Page
Designing Data-Intensive Applications

Summary

Every search on Google, every message on WhatsApp, and every App Update is the result of thousands of engineers’ efforts.

These engineers have found common best practices that help them handle millions of user requests in real time.

All the best!