Skip to content

arkapg211002/System-Design-Preparation

Repository files navigation

System Design Preparation

  1. 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.
  2. Follow this -> System Design Roadmap
  3. Follow this repo -> System Design Primer
  4. Read Designing Data-Intensive Applications - Martin Kleppmann
  5. Read System Design Inteview by Alex xu
  6. Read Building Microservices
  7. Follow this template to approach System Design problems
  8. Follow this page Leetcode Discuss System Design
  9. Follow this youtube playlist for High Level Design
  10. Follow this youtube playlist for Low Level Design

☑ for topics I have learned

High Level Design topics

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

Low Level Design topics

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

Releases

No releases published

Packages

No packages published

Languages