# Object-Oriented Design Principles - SOLID

Who gets asked Low Level Design questions?\
Almost every leading payer (product company) has LLD rounds now, even freshers sometimes have LLD rounds.\
Companies: Amazon, Microsoft, Google & leading startups.

\
What is Low Level Design?\
Low Level Design (LLD), also known as Object Oriented Design (OOD), is a detailed description of all components, configurations, and processes of the software.\
Low Level Design focuses on the class-level design of a software and clean, fast, readable, maintainable, and extensible code.

**The Expectations of LLD interviews**

An LLD Interview evaluates your skill on creating modular, flexible, maintainable and reusable software, by applying Object-oriented Design Principles and Design Patterns.

LLD questions like,

***Design a Parking Lot,***

***Design a Tic-tac-toe Game,***

***Design a Ticketing System***

***...***

in the **class-level**, are intentionally unstructured and open-ended and they don't have a standard answer.

**How to Prepare for the LLD Interview**

1. Learn an object-oriented language ( C++ / Java / Python or C# )
2. Study about the **SOLID** and other Object Oriented Principles
3. Learn all the common **Design Patterns** and their applications
4. Explore some open-source projects and try to understand the best practices
5. Practice common LLD interview questions

LLD Principles

The object-oriented design principles are also called **SOLID**.

The main goal of these principles is to make software resilient to changes and easy to extend and maintain...

<figure><img src="https://d2qikg3rnxq7n1.cloudfront.net/interviewquestions/530-ood-low-level-design-interview-1-high.png" alt=""><figcaption></figcaption></figure>
