Preview — Pro guide
You are seeing a portion of this guide. Sign in and upgrade to unlock the full article, quizzes, and interview answers.
Library Management System — LLD Deep Dive
Design a Library Management System using object-oriented design patterns — Strategy for search, Observer for reservations, and per-copy locking for concurrency. The Book vs BookItem distinction is the #1 mistake candidates make and what senior engineers probe for.
What Interviewers Are Actually Testing
Library Management looks deceptively simple — most candidates finish it in 20 minutes and think they've done well. Senior interviewers use it specifically to test whether you can distinguish logical abstractions from physical entities (Book vs BookItem), handle concurrent checkout attempts for the last copy, and design extensible algorithms using Strategy. If your design has members borrowing Book objects directly, you've already failed the core design question — the interviewer is waiting to see if you catch it yourself.
Clarifying Questions — What to Ask Before Drawing Anything
Physical books only, or e-books too?
If e-books, you need a different lending model — no physical scarcity, DRM license limits instead of copy counts. Start physical-only, then offer to extend. This immediately signals you understand the domain difference.
Single branch or multi-branch library?
Multi-branch changes BookItem to carry a branchId and availability becomes branch-scoped. Inter-branch transfers introduce a whole new workflow. Single branch first, then discuss how you'd extend.
Who are the member types, and do they have different loan rules?
Typical split: Student (14-day loan, max 3 books), Faculty (30-day loan, max 10 books), Public (7-day loan, max 2 books). This is not flavor — it directly drives your Loan and FineCalculator design.
How are fines calculated? Is there a cap?
Per-day-overdue is standard. Whether the rate differs by member type and whether there's a maximum fine cap affects your FineCalculator interface. Most real libraries cap at the replacement cost of the book.
Can members reserve a book that's currently checked out?
Yes in most systems — this drives the entire Reservation subsystem. How long does a reservation hold once the book becomes available? (Typical: 24-72 hours before the next person in queue gets it.)
What search capabilities are needed?
Title, author, ISBN, genre are the standard four. Full-text search (Elasticsearch) vs in-memory index is a valid scope distinction. For LLD, assume an in-memory catalog with the Strategy pattern for search.