Interview Tips

How to Approach LLD Interviews

A structured framework for tackling Low-Level Design interviews. Follow these steps to deliver a clear, impressive solution.

1Clarify Requirements (5 min)

Never jump into design. Start by asking questions to understand scope and constraints.
Questions to Ask
  • What are the core use cases?
  • Who are the actors (user types)?
  • Any specific features to focus on?
  • Scale considerations?
  • Any constraints or limitations?
What to Clarify
  • Scope: what's in vs out?
  • Functional requirements only or system design too?
  • Should I focus on specific components?
  • Time available for the problem?
  • Preferred programming language?

2Identify Core Classes (5 min)

List the main entities/nouns from your requirements. These become classes.

Example: Parking Lot

Core Entities
  • ParkingLot
  • ParkingFloor
  • ParkingSpot
  • Vehicle
Supporting
  • Ticket
  • Payment
  • EntryPanel
  • ExitPanel
Enums
  • VehicleType
  • SpotType
  • TicketStatus
  • PaymentMethod

3Define Relationships (5 min)

RelationshipWhen to UseExample
InheritanceIS-A relationshipCar IS-A Vehicle
CompositionPart can't exist without wholeFloor PART-OF ParkingLot
AggregationPart can exist independentlyPlayer in Team
AssociationUses/referencesTicket references Vehicle

4Apply Design Patterns (5 min)

Singleton
One instance needed
ParkingLot, Database connection
Factory
Creating objects without specifying class
VehicleFactory, NotificationFactory
Strategy
Multiple algorithms for same task
Pricing strategies, Payment methods
Observer
Notify on state changes
Notifications, Event handlers
State
Behavior changes with state
Elevator, Vending Machine
Command
Encapsulate requests
Undo/redo, Transaction logging

5Write Code (15-20 min)

Don't try to write everything. Focus on:
  • 1. Class definitions with key attributes
  • 2. Main methods with logic
  • 3. One or two patterns implemented fully
  • 4. Key algorithm (e.g., find available spot)
Coding Tips
  • Start with enums - quick wins, shows thoroughness
  • Define interfaces first - shows abstraction thinking
  • Use meaningful names - demonstrates clean code
  • Add comments for complex logic - helps interviewer follow
  • Talk as you code - explain your decisions

6Handle Follow-ups

Interview Follow-up Questions

Common follow-up questions interviewers ask

7LLD Interview Checklist

Clarified requirements and scope
Identified core entities and enums
Defined class relationships
Applied relevant design patterns
Used SOLID principles
Wrote clean, readable code
Explained design decisions
Handled edge cases
Discussed extensibility
Answered follow-up questions confidently