Learn Low Level Design (LLD) and prepare for interviews using free resources. https://algomaster.io
  • Java 25.6%
  • Python 20.6%
  • C# 19.8%
  • C++ 18.6%
  • Go 10.6%
  • Other 4.8%
Find a file
Ashish Pratap Singh fc26e4033c
Merge pull request #138 from Hardvan/add-coffee-tests
Add unit tests for Coffee Vending Machine
2026-02-26 10:45:01 +05:30
class-diagrams Remove unused class diagram and renamed the ridesharingservice typo to match algomaster listing 2025-10-18 02:29:26 +05:30
design-patterns factory Added and refactored the factory pattern code folder 2025-06-17 00:22:41 +05:30
images add lld interview template 2024-07-21 20:24:10 -07:00
oop Merge pull request #124 from apurvatrpth/compositon-vs-aggregator 2026-02-26 10:43:45 +05:30
problems Merge pull request #182 from lordbeerus0505/main 2026-02-26 10:37:34 +05:30
solutions Merge pull request #138 from Hardvan/add-coffee-tests 2026-02-26 10:45:01 +05:30
.gitignore update .gitignore 2025-07-02 19:35:08 +05:30
LICENSE Initial commit 2023-11-17 02:15:13 -08:00
README.md Revise UML diagram links in README.md 2026-02-14 13:42:09 +05:30

Join Free Newsletter

This repository contains resources to learn Low Level Design (LLD) / Object Oriented Design (OOD) and prepare for interviews. It covers OOP fundamentals, design patterns, UML, concurrency and commonly asked interview questions.

👉 For a better and more comprehensive experience, checkout the LLD page at AlgoMaster.io

🧱 OOP Fundamentals

🔗 Class Relationships

🧭 Design Principles

🧩 Design Patterns

Creational Patterns Structural Patterns Behavioral Patterns
Singleton Adapter Iterator
Factory Method Bridge Observer
Abstract Factory Composite Strategy
Builder Decorator Command
Prototype Facade State
Flyweight Template Method
Proxy Visitor
Mediator
Memento
Chain of Responsibility

🗂️ UML

⏱️ Concurrency and Multi-threading Concepts

Concurrency 101

Synchronization Primitives

Concurrency Challenges

Concurrency Patterns

How to Answer a LLD Interview Problem

💻 Low Level Design Interview Problems

Easy Problems

Medium Problems

Hard Problems

⏱️ Concurrency and Multi-threading Problems

📇 Courses

📚 Books

📩 Newsletter

Additional resources

🤝 Contributing

Contributions are welcome! If you'd like to add a new problem, improve existing content, or fix errors:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin feature/your-feature-name
  5. Submit a pull request

Please make sure to update Readme files and documentation as appropriate.


If you find this resource helpful, please give it a star and share it with others!