Design Car Rental System like Zoomcar.
MediumLet's design a simplified car rental system, similar to Zoomcar. The core idea is to allow users to rent cars from a fleet. We need to manage the cars, their availability, users, reservations, and pricing. This problem requires careful consideration of object-oriented principles to ensure the system is flexible, maintainable, and scalable (within a single machine/process context). The simulation should focus on in-memory operations, avoiding external database interactions (although the design should accommodate persistence later). We need to model the core business logic accurately and efficiently. Consider different car models, pricing strategies (hourly, daily), and reservation management (creation, cancellation, modification). The system needs to handle concurrent requests from multiple users.
Requirements
Interview Simulation
Experience a realistic interview conversation. The interviewer will ask clarifying questions,and you'll reveal your understanding of the requirements.
Let's start by understanding the scope. What are the core functionalities this system needs to provide?
💡 Interview Tip
Identify the Actors (Who uses the system?) and their Use Cases (What are they trying to achieve?). Start with the 'Happy Path' scenarios.