Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arkapg211002/system-design-preparation

System Design Preparation roadmap, topics, books
https://github.com/arkapg211002/system-design-preparation

high-level-design interview-preparation low-level-design-problems system-design

Last synced: about 5 hours ago
JSON representation

System Design Preparation roadmap, topics, books

Awesome Lists containing this project

README

        

# 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](https://roadmap.sh/system-design)
3. Follow this repo -> [System Design Primer](https://github.com/donnemartin/system-design-primer)
4. Read [Designing Data-Intensive Applications - Martin Kleppmann](https://drive.google.com/file/d/16LnNNlZ_dHyYEKL9IrUaX4oSwg7WgnKv/view?usp=drive_link)
5. Read [System Design Inteview by Alex xu](https://drive.google.com/file/d/1ka3Vd5jk0zJVIlzlHGJ-4qfUhutPsMCp/view?usp=drive_link)
6. Read [Building Microservices](https://drive.google.com/file/d/1KznVYSWwxSm9yyeSQu2AD_eLNU7Jl1tx/view?usp=drive_link)
7. Follow this template [to approach System Design problems](https://leetcode.com/discuss/career/229177/My-System-Design-Template)
8. Follow this page [Leetcode Discuss System Design](https://leetcode.com/discuss/interview-question/system-design?currentPage=1&orderBy=hot&query=)
9. Follow this youtube playlist for [High Level Design](https://youtube.com/playlist?list=PL6W8uoQQ2c63W58rpNFDwdrBnq5G3EfT7)
10. Follow this youtube playlist for [Low Level Design](https://youtube.com/playlist?list=PL6W8uoQQ2c61X_9e6Net0WdYZidm7zooW)

☑ 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](https://www.interviewready.io/blog/low-level-system-design-of-an-inventory-management-system) |
|26|☑ | | [Design Cache Mechanism](https://www.youtube.com/watch?v=B7iCXl_KSoM) |
|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](https://drive.google.com/drive/folders/1E0HFZHb5DZbiVWJcAuPQ0ENPhSBoEk7b)