AI prompts
base on Learn Low Level Design (LLD) and prepare for interviews using free resources. <p align="center">
<img src="images/lld-repo-logo.png" width="350" height="200">
</p>
<p align="center">
<a href="https://blog.algomaster.io/">Join Free Newsletter</a>
</p>
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)
<img src="images/interview-template.png" width="350" height="250">
## 💻 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://amzn.to/3AmTYEN)
- [Clean Code](https://amzn.to/4hgxN3S)
- [Refactoring: Improving the Design of Existing Code](https://amzn.to/3YyuH3Y)
## Additional resources
- [Coursera - Design Patterns](https://www.coursera.org/learn/design-patterns)
- [Github - Awesome Design Patterns](https://github.com/DovAmir/awesome-design-patterns)
", Assign "at most 3 tags" to the expected json: {"id":"9355","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"