{"id":20454600,"url":"https://github.com/arkapg211002/system-design-preparation","last_synced_at":"2025-04-13T03:35:49.198Z","repository":{"id":180488630,"uuid":"658228457","full_name":"arkapg211002/System-Design-Preparation","owner":"arkapg211002","description":"System Design Preparation roadmap, topics, books","archived":false,"fork":false,"pushed_at":"2025-03-12T05:43:51.000Z","size":594244,"stargazers_count":74,"open_issues_count":0,"forks_count":34,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-26T20:51:17.055Z","etag":null,"topics":["high-level-design","interview-preparation","low-level-design-problems","system-design"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arkapg211002.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-06-25T06:47:41.000Z","updated_at":"2025-03-24T03:54:17.000Z","dependencies_parsed_at":"2023-07-21T15:30:28.731Z","dependency_job_id":null,"html_url":"https://github.com/arkapg211002/System-Design-Preparation","commit_stats":null,"previous_names":["arkapg211002/system-design-preparation"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkapg211002%2FSystem-Design-Preparation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkapg211002%2FSystem-Design-Preparation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkapg211002%2FSystem-Design-Preparation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkapg211002%2FSystem-Design-Preparation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arkapg211002","download_url":"https://codeload.github.com/arkapg211002/System-Design-Preparation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248660026,"owners_count":21141226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["high-level-design","interview-preparation","low-level-design-problems","system-design"],"created_at":"2024-11-15T11:16:27.101Z","updated_at":"2025-04-13T03:35:44.187Z","avatar_url":"https://github.com/arkapg211002.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# System Design Preparation\n\n1. Prerequisite subjects under MAKAUT include \u003c/br\u003e\n    `Computer Organisation and Architecture`, `Operating Systems`, `Object Oriented Programming`, `Software Engineering`, `Computer Networks`, `Database Management`, `Distributed Database management`, `Big data`.\n2. Follow this -\u003e [System Design Roadmap](https://roadmap.sh/system-design)\n3. Follow this repo -\u003e [System Design Primer](https://github.com/donnemartin/system-design-primer)\n4. Read [Designing Data-Intensive Applications - Martin Kleppmann](https://drive.google.com/file/d/16LnNNlZ_dHyYEKL9IrUaX4oSwg7WgnKv/view?usp=drive_link)\n5. Read [System Design Inteview by Alex xu](https://drive.google.com/file/d/1ka3Vd5jk0zJVIlzlHGJ-4qfUhutPsMCp/view?usp=drive_link)\n6. Read [Building Microservices](https://drive.google.com/file/d/1KznVYSWwxSm9yyeSQu2AD_eLNU7Jl1tx/view?usp=drive_link)\n7. Follow this template [to approach System Design problems](https://leetcode.com/discuss/career/229177/My-System-Design-Template)\n8. Follow this page [Leetcode Discuss System Design](https://leetcode.com/discuss/interview-question/system-design?currentPage=1\u0026orderBy=hot\u0026query=)\n9. Follow this youtube playlist for [High Level Design](https://youtube.com/playlist?list=PL6W8uoQQ2c63W58rpNFDwdrBnq5G3EfT7)\n10. Follow this youtube playlist for [Low Level Design](https://youtube.com/playlist?list=PL6W8uoQQ2c61X_9e6Net0WdYZidm7zooW)\n\n\u0026#x2611; for topics I have learned\n\n### High Level Design topics\n\n|Sno|Status|Topics|\n|:--:|:--:|:--:|\n|1|| Learn About Network Protocols (TCP, Websocket, HTTP etc.) |\n|2|| Client-Server Vs Peer 2 Peer Architecture |\n|3|| C.A.P Theorem |\n|4|| Microservices Imp. Design Patterns (SAGA pattern, Strangler Pattern) |\n|5|| Scale from 0 to Million Users |\n|6|| Design Consistent Hashing |\n|7|| Design URL Shortening |\n|8|| Back of the Envelope Estimation |\n|9|| Design Key-Value Store |\n|10|| SQL vs NoSQL, When to Use Which DB |\n|11|| Design WhatsApp |\n|12|| Design Rate Limiter |\n|13|| Design Search Autocomplete System / Typeahead System |\n|14|| Understand Message Queue , Kafka etc. |\n|15|| What is Proxy Servers |\n|16|| What is CDN |\n|17|| Storage types: (`Block Storage`, `File Storage`, `Object Storage (S3)` , `RAID`) |\n|18|| File System (`Google File System`, `HDFS`) |\n|19|| Bloom Filter |\n|20|| Merkle Tree , Gossiping Protocol |\n|21|| Caching (`Cache Invalidation`, `Cache eviction`) |\n|22|| How to Scale Database `Sharding (Horizontal and Vertical)` `Partitioning` `Replication`, `Mirroring` `Leader Election` `Indexing` etc. |\n|23|| Design Notification System |\n|24|| Design Pastebin |\n|25|| Design Twitter |\n|26|| Design Dropbox |\n|27|| Design Instagram |\n|28|| Design YouTube |\n|29|| Design Google Drive |\n|30|| Design Web Crawler |\n|31|| Design Facebook News Feed / Newsfeed System |\n|32|| Design Ticket Master |\n|33|| Design NearByFriends or Yelp |\n\n### Low Level Design topics\n\n| Sno | Status | LLD patterns | Related Questions |\n|:--:|:--:|:--:|:--:|\n|1 |\u0026#x2611; | `Strategy pattern` | SOLID principles |\n|2 |\u0026#x2611; | `Observer Pattern` | Design Notify-Me Button Functionality |\n|3 |\u0026#x2611; | `Decorator Pattern` | Design  Pizza Billing System |\n|4 |\u0026#x2611; | `Factory Pattern` | Design  Parking Lot |\n|5 |\u0026#x2611; | `Abstract Factory Pattern` | Design  Snake n Ladder game |\n|6 |\u0026#x2611; | `Chain of Responsibility Pattern` | Design Elevator System |\n|7 |\u0026#x2611; | `Proxy Pattern` | Design Car Rental System |\n|8 |\u0026#x2611; | `Null Object Pattern` | Design Logging System |\n|9 |\u0026#x2611; | `State Pattern` | Design Tic-Tac-Toe game |\n|10|\u0026#x2611; | `Composite Pattern` | Design BookMyShow \u0026 Concurrency handling |\n|11|\u0026#x2611; | `Adapter Pattern` | Design Vending Machine |\n|12|\u0026#x2611; | `Singleton Pattern` | Design ATM |\n|13|\u0026#x2611; | `Builder Pattern` | Design Chess game |\n|14|\u0026#x2611; | `Prototype Pattern` | Design File System |\n|15|\u0026#x2611; | `Bridge Pattern` | Design Splitwise |\n|16|\u0026#x2611; | `Façade Pattern` | Splitwise Simplify Algorithm / Optimal Accounting Balancing |\n|17|\u0026#x2611; | `Flyweight Pattern` | Design CricBuzz / CricketInfo |\n|18|\u0026#x2611; | `Command Pattern` | Design True Caller |\n|19|\u0026#x2611; | `Interpreter Pattern` | Design Car Booking Service like Ola, Uber |\n|20|\u0026#x2611; | `Iterator Pattern` | Design Online Hotel Booking System |\n|21|\u0026#x2611; | `Mediator Pattern` | Design Library Management System |\n|22|\u0026#x2611; | `Memento Pattern` | Design  Traffic Light System |\n|23|\u0026#x2611; | `Template Method Pattern` | Design Meeting Scheduler |\n|24|\u0026#x2611; | `Visitor Pattern` | Design Online Voting System |\n|25|\u0026#x2611; | | [Design Inventory Management System](https://www.interviewready.io/blog/low-level-system-design-of-an-inventory-management-system) |\n|26|\u0026#x2611; | | [Design Cache Mechanism](https://www.youtube.com/watch?v=B7iCXl_KSoM) |\n|27|\u0026#x2611; | | Design LinkedIn |\n|28|\u0026#x2611; | | Design Amazon |\n|29|\u0026#x2611; | | Design Airline Management System |\n|30|\u0026#x2611; | | Design Stock Exchange System |\n|31|\u0026#x2611; | | Design Learning Management System |\n|32|\u0026#x2611; | | Design a Calendar Application |\n|33|\u0026#x2611; | | Design (LLD) Payment System |\n|34|\u0026#x2611; | | Design (LLD) Chat based system |\n|35|\u0026#x2611; | | Design Food delivery app like Swiggy and Zomato |\n|36|\u0026#x2611; | | Design Community Discussion Platform |\n|37|\u0026#x2611; | | Design Restaurant Management System |\n|38|\u0026#x2611; | | Design Bowling Alley Machine |\n|39|\u0026#x2611; | | Design (LLD) Rate Limiter |\n\n[other books of different levels](https://drive.google.com/drive/folders/1E0HFZHb5DZbiVWJcAuPQ0ENPhSBoEk7b)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkapg211002%2Fsystem-design-preparation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farkapg211002%2Fsystem-design-preparation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farkapg211002%2Fsystem-design-preparation/lists"}