System Design Preparation (Roadmap)
- Prerequisite subjects under MAKAUT include
Computer Organisation and Architecture,Operating Systems,Object Oriented Programming,Software Engineering,Computer Networks,Database Management,Distributed Database management,Big data. - Follow this -> System Design Roadmap
- Follow this repo -> System Design Primer
- Read Designing Data-Intensive Applications - Martin Kleppmann
- Read System Design Inteview by Alex xu
- Read Building Microservices
- Follow this template to approach System Design problems
- Follow this page Leetcode Discuss System Design
- Follow this youtube playlist for High Level Design
- Follow this youtube playlist for Low Level Design
☑ for topics I have learned
| Sno | Status | Topics |
|---|---|---|
| 1 | ☑ | Learn About Network Protocols (TCP, Websocket, HTTP etc.) |
| 2 | ☑ | Client-Server Vs Peer 2 Peer Architecture |
| 3 | ☑ | C.A.P Theorem |
| 4 | Microservices Imp. Design Patterns (SAGA pattern, Strangler Pattern) | |
| 5 | Scale from 0 to Million Users | |
| 6 | Design Consistent Hashing | |
| 7 | ☑ | Design URL Shortening |
| 8 | Back of the Envelope Estimation | |
| 9 | ☑ | Design Key-Value Store |
| 10 | ☑ | SQL vs NoSQL, When to Use Which DB |
| 11 | Design WhatsApp | |
| 12 | Design Rate Limiter | |
| 13 | Design Search Autocomplete System / Typeahead System | |
| 14 | ☑ | Understand Message Queue , Kafka etc. |
| 15 | ☑ | What is Proxy Servers |
| 16 | ☑ | What is CDN |
| 17 | ☑ | Storage types: (Block Storage, File Storage, Object Storage (S3) , RAID) |
| 18 | ☑ | File System (Google File System, HDFS) |
| 19 | Bloom Filter | |
| 20 | Merkle Tree , Gossiping Protocol | |
| 21 | ☑ | Caching (Cache Invalidation, Cache eviction) |
| 22 | ☑ | How to Scale Database Sharding (Horizontal and Vertical) Partitioning Replication, Mirroring Leader Election Indexing etc. |
| 23 | Design Notification System | |
| 24 | Design Pastebin | |
| 25 | Design Twitter | |
| 26 | Design Dropbox | |
| 27 | Design Instagram | |
| 28 | Design YouTube | |
| 29 | Design Google Drive | |
| 30 | Design Web Crawler | |
| 31 | Design Facebook News Feed / Newsfeed System | |
| 32 | Design Ticket Master | |
| 33 | Design NearByFriends or Yelp |
| Sno | Status | LLD patterns | Related Questions |
|---|---|---|---|
| 1 | ☑ | Strategy pattern |
SOLID principles |
| 2 | ☑ | Observer Pattern |
Design Notify-Me Button Functionality |
| 3 | ☑ | Decorator Pattern |
Design Pizza Billing System |
| 4 | ☑ | Factory Pattern |
Design Parking Lot |
| 5 | ☑ | Abstract Factory Pattern |
Design Snake n Ladder game |
| 6 | ☑ | Chain of Responsibility Pattern |
Design Elevator System |
| 7 | ☑ | Proxy Pattern |
Design Car Rental System |
| 8 | ☑ | Null Object Pattern |
Design Logging System |
| 9 | ☑ | State Pattern |
Design Tic-Tac-Toe game |
| 10 | ☑ | Composite Pattern |
Design BookMyShow & Concurrency handling |
| 11 | ☑ | Adapter Pattern |
Design Vending Machine |
| 12 | ☑ | Singleton Pattern |
Design ATM |
| 13 | ☑ | Builder Pattern |
Design Chess game |
| 14 | ☑ | Prototype Pattern |
Design File System |
| 15 | ☑ | Bridge Pattern |
Design Splitwise |
| 16 | ☑ | Façade Pattern |
Splitwise Simplify Algorithm / Optimal Accounting Balancing |
| 17 | ☑ | Flyweight Pattern |
Design CricBuzz / CricketInfo |
| 18 | ☑ | Command Pattern |
Design True Caller |
| 19 | ☑ | Interpreter Pattern |
Design Car Booking Service like Ola, Uber |
| 20 | ☑ | Iterator Pattern |
Design Online Hotel Booking System |
| 21 | ☑ | Mediator Pattern |
Design Library Management System |
| 22 | ☑ | Memento Pattern |
Design Traffic Light System |
| 23 | ☑ | Template Method Pattern |
Design Meeting Scheduler |
| 24 | ☑ | Visitor Pattern |
Design Online Voting System |
| 25 | ☑ | Design Inventory Management System | |
| 26 | ☑ | Design Cache Mechanism | |
| 27 | ☑ | Design LinkedIn | |
| 28 | ☑ | Design Amazon | |
| 29 | ☑ | Design Airline Management System | |
| 30 | ☑ | Design Stock Exchange System | |
| 31 | ☑ | Design Learning Management System | |
| 32 | ☑ | Design a Calendar Application | |
| 33 | ☑ | Design (LLD) Payment System | |
| 34 | ☑ | Design (LLD) Chat based system | |
| 35 | ☑ | Design Food delivery app like Swiggy and Zomato | |
| 36 | ☑ | Design Community Discussion Platform | |
| 37 | ☑ | Design Restaurant Management System | |
| 38 | ☑ | Design Bowling Alley Machine | |
| 39 | ☑ | Design (LLD) Rate Limiter |