System design interview question
Design a Library Book Management System
Design a system to manage a library's book inventory and lending operations. The system tracks books, members, and loans. Key entities include Books (with multiple copies), Members (who can borrow up to 5 books), and Loans (tracking borrowing and return). Members should be able to search and borrow available books, return books, and the system must track overdue books and calculate late fees. Handle edge cases like: what happens when a book has no available copies, preventing members from borrowing beyond their limit, and calculating fines for overdue returns. Focus on clear responsibility assignment between classes and managing the relationships between books, members, and loans.
Practice this question step by step with an AI interviewer that reviews your requirements, your architecture and your trade-offs, and scores the design.