# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.aonecode.com/object-oriented-design/object-oriented-design-principles-solid.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
