https://github.com/ashishps1/awesome-low-level-design
This repository contains low level design resources to improve coding skills and prepare for interviews.
https://github.com/ashishps1/awesome-low-level-design
List: awesome-low-level-design
awesome design-patterns interview interview-practice interview-questions low-level-design machine-coding object-oriented-programming oops solid-principles uml
Last synced: 4 months ago
JSON representation
This repository contains low level design resources to improve coding skills and prepare for interviews.
- Host: GitHub
- URL: https://github.com/ashishps1/awesome-low-level-design
- Owner: ashishps1
- License: gpl-3.0
- Created: 2023-11-17T10:15:12.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-07T17:54:08.000Z (about 1 year ago)
- Last Synced: 2024-04-12T07:01:35.000Z (about 1 year ago)
- Topics: awesome, design-patterns, interview, interview-practice, interview-questions, low-level-design, machine-coding, object-oriented-programming, oops, solid-principles, uml
- Homepage: https://twitter.com/ashishps_1
- Size: 171 KB
- Stars: 2,198
- Watchers: 33
- Forks: 603
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- ultimate-awesome - awesome-low-level-design - This repository contains low level design resources to improve coding skills and prepare for interviews. (Other Lists / PowerShell Lists)
README
![]()
This repository contains resources to learn Low Level Design (LLD) / Object Oriented Design (OOD) and prepare for interviews.
## 📌 Fundamental Concepts
- [Basics OOP Concepts](https://blog.algomaster.io/p/basic-oop-concepts-explained-with-code)
- [SOLID Principles with Pictures](https://medium.com/backticks-tildes/the-s-o-l-i-d-principles-in-pictures-b34ce2f1e898)
- [SOLID Principles with Code](https://blog.algomaster.io/p/solid-principles-explained-with-code)
- [DRY Principle](https://blog.algomaster.io/p/082450d8-0e7b-4447-a8dc-b7308e45f048)
- [YAGNI Principle](https://blog.algomaster.io/p/8c3c7da7-885b-4a9c-a6e4-70ee02de4772)
- [KISS Principle](https://blog.algomaster.io/p/21b57678-b351-4ed4-b390-3b6308af2f7d)
- [Coursera - Object-Oriented Design](https://www.coursera.org/learn/object-oriented-design)## ⚙️ Design Patterns
| **Creational Patterns** | **Structural Patterns** | **Behavioral Patterns** |
| ----------------------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| [Singleton](https://blog.algomaster.io/p/singleton-design-pattern) | [Adapter](https://refactoring.guru/design-patterns/adapter) | [Chain of Responsibility](https://refactoring.guru/design-patterns/chain-of-responsibility) |
| [Factory Method](https://refactoring.guru/design-patterns/factory-method) | [Bridge](https://refactoring.guru/design-patterns/bridge) | [Command](https://refactoring.guru/design-patterns/command) |
| [Abstract Factory](https://refactoring.guru/design-patterns/abstract-factory) | [Composite](https://refactoring.guru/design-patterns/composite) | [Iterator](https://refactoring.guru/design-patterns/iterator) |
| [Builder](https://refactoring.guru/design-patterns/builder) | [Decorator](https://refactoring.guru/design-patterns/decorator) | [Mediator](https://refactoring.guru/design-patterns/mediator) |
| [Prototype](https://refactoring.guru/design-patterns/prototype) | [Facade](https://refactoring.guru/design-patterns/facade) | [Memento](https://refactoring.guru/design-patterns/memento) |
| | [Flyweight](https://refactoring.guru/design-patterns/flyweight) | [Observer](https://refactoring.guru/design-patterns/observer) |
| | [Proxy](https://refactoring.guru/design-patterns/proxy) | [State](https://refactoring.guru/design-patterns/state) |
| | | [Strategy](https://refactoring.guru/design-patterns/strategy) |
| | | [Template Method](https://refactoring.guru/design-patterns/template-method) |
| | | [Visitor](https://refactoring.guru/design-patterns/visitor) |## 🗂️ UML
- [Class Diagram](https://blog.algomaster.io/p/uml-class-diagram-explained-with-examples)
- [Use Case Diagram](https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-use-case-diagram/)
- [Sequence Diagram](https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-sequence-diagram/)
- [Activity Diagram](https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-activity-diagram/)
- [State Machine Diagram](https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-state-machine-diagram/)## ✅ [How to Answer a LLD Interview Problem](https://blog.algomaster.io/p/how-to-answer-a-lld-interview-problem)
## 💻 Low Level Design Interview Problems
### Easy- [Design Parking Lot](problems/parking-lot.md)
- [Design a Vending Machine](problems/vending-machine.md)
- [Design Stack Overflow](problems/stack-overflow.md)
- [Design Logging Framework](problems/logging-framework.md)
- [Design Coffee Vending Machine](problems/coffee-vending-machine.md)
- [Design Traffic Signal Control System](problems/traffic-signal.md)
- [Design a Task Management System](problems/task-management-system.md)### Medium
- [Design Pub Sub System](problems/pub-sub-system.md)
- [Design Tic Tac Toe Game](problems/tic-tac-toe.md)
- [Design Car Rental System](problems/car-rental-system.md)
- [Design an ATM](problems/atm.md)
- [Design Hotel Management System](problems/hotel-management-system.md)
- [Design LinkedIn](problems/linkedin.md)
- [Design a Social Network like Facebook](problems/social-networking-service.md)
- [Design an Elevator System](problems/elevator-system.md)
- [Design a Library Management System](problems/library-management-system.md)
- [Design Restaurant Management System](problems/restaurant-management-system.md)
- [Design Airline Management System](problems/airline-management-system.md)
- [Design a Digital Wallet System](problems/digital-wallet-system.md)
- [Design an Online Auction System](problems/online-auction-system.md)
- [Design a Concert Ticket Booking System](problems/concert-ticketing-system.md)
- [Design a Cache using LRU Eviction Policy](problems/lru-cache.md)### Hard
- [Design Movie Ticket Booking System](problems/movie-ticket-booking-system.md)
- [Design Splitwise](problems/splitwise.md)
- [Design a Snake and Ladder game](problems/snake-and-ladder.md)
- [Design Online Shopping System like Amazon](problems/online-shopping-service.md)
- [Design Online Stock Brokerage System](problems/online-stock-brokerage-system.md)
- [Design CricInfo](problems/cricinfo.md)
- [Design Chess Game](problems/chess-game.md)
- [Design Ride-Sharing Service (like Uber)](problems/ride-sharing-service.md)
- [Design Online Food Delivery Service (like Swiggy)](problems/food-delivery-service.md)
- [Design Music Streaming Service (like Spotify)](problems/music-streaming-service.md)
- [Design University Course Registration System](problems/course-registration-system.md)## 📚 Books
- [Head First Design Patterns](https://www.amazon.in/dp/9385889753)
- [Clean Code](https://www.amazon.in/dp/B001GSTOAM)
- [Refactoring: Improving the Design of Existing Code](https://www.amazon.in/dp/0134757599)## 📩 Newsletter
- [AlgoMaster Newsletter](https://blog.algomaster.io/)
## Additional resources
- [Coursera - Design Patterns](https://www.coursera.org/learn/design-patterns)
- [Github - Awesome Design Patterns](https://github.com/DovAmir/awesome-design-patterns)