awesome-low-level-design README

The project's README from github.com/ashishps1/awesome-low-level-design. As one markdown file: README.md.

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.

🏁 Start Here

🧱 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!

awesome-low-level-design (ashishps1/awesome-low-level-design)

Searching Database…

这是什么?这是一个精选的免费资源合集,用于学习低层设计(LLD)/面向对象设计,并为 LLD 面试环节做准备。
这是教程、题库,还是两者都有?两者都有:既有关于 OOP、设计模式、UML 和并发的概念性笔记,也有按难度分级、附带解答的机器编码面试题列表。
初学者应该从哪里开始?先看 README 顶部的 'How to Learn LLD' 指南和 '15 Must-Know OOP Concepts' 部分,然后再学习 OOP 基础和设计模式。
这是为谁准备的?面向准备机器编码和 LLD 面试环节的软件工程师,也适合任何想加强面向对象设计能力的人。
它涵盖哪些并发主题?涵盖并发基础(线程与进程、竞态条件)、同步原语(互斥锁、信号量、CAS)、并发模式(生产者-消费者、线程池),以及专门的多线程面试题,如 Print FooBar Alternately 和 Design Thread-Safe Blocking Queue。
包含哪些设计模式?列出了所有经典的 GoF(四人帮)设计模式:创建型包括单例、工厂方法、抽象工厂、建造者、原型;结构型包括适配器、桥接、组合、装饰器、外观、享元、代理;行为型包括迭代器、观察者、策略、命令、状态、模板方法、访问者、中介者、备忘录、责任链。
列表中有哪些面试题示例?题目从较简单的 Design Parking Lot、Design a Vending Machine,到较难的 Design Splitwise、Design an Online Shopping System like Amazon、Design a Ride-Sharing Service like Uber 不等。
有推荐的配套课程或书籍吗?有。它链接了 AlgoMaster.io 上关于 LLD 和并发面试的课程、AlgoMaster 通讯,以及 Head First Design Patterns、Clean Code 和 Refactoring 等书籍。
Creator
ashishps1
Size
15.6 MB
Stars
27.4K
Updated
CommitAug 19
Age
2y
Commits · 90 Days