Round 1 – DSA
Result: Strong Hire
Round 2 – System Design (HLD + LLD)
Question: Design a Booking.com-style hotel reservation system.
Result: Strong Hire
Covered:
- High-Level Design (HLD): service boundaries, data flow, scaling strategies, component interactions (API Gateway, Search Service, Booking Service, Review Service, etc.)
- Low-Level Design (LLD): detailed class/data models, DB schema, API contracts, concurrency control for bookings
Key Requirements:
- Search & Filtering (location, dates, price, ratings, amenities)
- Availability & Booking
- Real-time room availability, concurrency control to prevent double-booking
- Booking creation, modification, cancellation
- User Reviews & Ratings
- Scalability & Reliability
- Caching, load balancing, DB sharding by region
- High-QPS handling during peak seasons
- API Design & Data Model
- Endpoints:
/search, /book, /cancel, /reviews
- Schema:
Hotel, Room, Booking, User, Review tables
Round 3 – Hiring-Manager
This was the most difficult round in my opinion. The HM asked a mix of behavioral and past-experience-based questions, along with a couple of technical deep dives.
Questions which I couldn’t answer properly:
-
API Latency Debugging (without code changes):
“Without adding new logs or deploying changes, how would you pinpoint whether high latency is due to DB access, business logic, or network?”
-
PATCH Endpoint Design:
“How would you design a RESTful PATCH API for partial updates?”
- The interviewer was specifically focused on JSON Patch semantics.
- I was only familiar with JSON Merge Patch, which led to some confusion in articulating the request/response format.
Overall Result: Reject