System Design Preparation
- 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 |
other books of different levels