Welcome to the Low-Level Design Questions repository! ๐ This repo is your one-stop resource for mastering low-level design concepts commonly asked in technical interviews and essential for system design. Whether you're preparing for coding interviews, improving your design skills, or just exploring, you'll find this repository helpful.
This repository contains a curated collection of low-level design (LLD) questions, solutions, and implementations in various programming languages. Each design problem is broken down into:
- Problem Statement: Clear and concise explanation of the design problem.
- Solution Approach: Key considerations, design patterns, and principles.
- Code Implementation: Fully functional code with comments for clarity.
-
Design Patterns
- Singleton, Factory, Builder, Strategy, Observer, etc.
-
Object-Oriented Programming (OOP) Concepts
- Abstraction, Encapsulation, Polymorphism, Inheritance.
-
System Design Use Cases
- Design Parking Lot System.
- Design an Online Library.
- Design a Food Delivery System.
- Design Movie Ticket Booking System.
-
Design Principles
- SOLID principles.
- DRY, KISS, YAGNI.
-
Real-World Problems
- Elevator System.
- Chess Game.
- ATM Machine.
- Social Media News Feed.
- git clone https://github.com/roy7077/low-level-design.git cd low-level-design
- Explore Topics: avigate through folders like patterns, use-cases, and solutions to find problems and solutions.
- Practice Problems:Try to solve the problems yourself before checking the solutions.
- Contribute:
- Found an issue or have a new question to add? Feel free to open a pull request or issue.
- Familiarity with OOP concepts.
- Basic understanding of design patterns.
- Experience with any programming language (Java, Python, C++, etc.).