JobSahara

Home › Guides › Low-Level Design (LLD) Interview Guide: Classes and Patterns

Low-Level Design (LLD) Interview Guide: Classes and Patterns

Low-level design, or LLD, asks you to design the classes and interfaces for a smaller system, such as a parking lot or a library system, and often to write the core code. It tests object-oriented thinking and clean code.

Start with requirements

Clarify the features and the rules. List the main actors and actions. Decide what is in scope so your design stays focused.

Identify classes and relationships

Find the key nouns in the requirements and turn them into classes. Decide how they relate: one class has another, uses another, or extends another. Prefer composition over inheritance when in doubt.

Apply the core principles

Know the SOLID principles: single responsibility, open/closed, Liskov substitution, interface segregation and dependency inversion. Use them to explain why your classes are separated the way they are.

Know a few common design patterns, such as strategy, factory, observer and singleton, and when they actually help. Do not force a pattern where it is not needed.

Write the core code

Implement the main flow with clear names, small methods and sensible error handling. Show how a new requirement, such as a new vehicle type, could be added without rewriting existing code.

Test your design

Walk through a couple of scenarios, including an edge case. Mention how you would test the main classes. This shows you think about real use.

Frequently asked questions

Which language should I use?

Use an object-oriented language you know well. The principles are the same across languages.

Do I need to know every design pattern?

No. A few well-understood patterns, used where they fit, are better than naming many.

Put this into practice.

JobSahara matches you to jobs, tailors your resume and cover letter to each posting using only what is in your resume, and helps you reply to recruiters.

Try JobSahara

More guides