Product Company · Gurugram
MakeMyTrip interviews test backend/frontend development skills, SQL, and product-level problem-solving for their travel platform.
Process: Online Assessment → Technical × 2 → HR
What engineering domains are most relevant for MakeMyTrip interviews?
Tip: MakeMyTrip (MMT) operates in travel tech: flight/hotel search and booking, dynamic pricing, inventory management, payment processing, and post-booking servicing. Key technical areas: search systems (Elasticsearch + fare caching), booking state machines, distributed systems, and data analytics for demand forecasting.
Design a flight search system that returns results in under 500ms for 10M users.
Tip: Architecture: fare aggregator pulls from airlines (GDS APIs + direct airline APIs) → caches in a fare cache (Redis/Aerospike) keyed by (origin, destination, date). Search: read from cache + apply real-time seat availability overlay. Pre-warm popular routes. Async refresh of stale fares. Return sorted results by price/duration.
How does dynamic pricing work in the airline industry and how does MMT use it?
Tip: Airlines use revenue management models: prices rise as seats fill up and departure approaches. MMT doesn't set prices — they display airline prices in real time. MMT uses dynamic pricing for hotel margins and ancillary services. Interview relevance: understand fare freshness (cache TTL) vs accuracy trade-off.
Write code to find the cheapest flight between two cities with at most K layovers.
Tip: Modified Dijkstra or BFS with state (city, stops_so_far): dp[city][k] = cheapest price to reach city with exactly k stops. Bellman-Ford variant relaxes edges K+1 times. MMT-style interview problem — shows graph algorithm + dynamic programming thinking.
What is a booking state machine and why is correctness critical in travel booking?
Tip: States: SEARCH → HOLD → PAYMENT_INITIATED → TICKETED/FAILED → CANCELLED/REFUNDED. Each transition is idempotent with a unique booking reference. Critical: airline inventory must be released if payment fails. MMT uses saga pattern for distributed transactions across airline + payment + hotel systems.
How would you build a hotel inventory availability system that handles concurrent bookings?
Tip: Hotel inventory: rooms are scarce — concurrent bookings for the last room must be handled. Strategy: optimistic locking with version numbers on room inventory rows. On conflict: retry up to 3 times, then return "sold out." Alternatively: reserve inventory atomically with a DECREMENT-IF-POSITIVE Redis operation.
Tell me about a time you made a customer-impacting decision under time pressure.
Tip: Travel incidents are high-emotion (missed flights, wrong bookings). Show you prioritise customer impact in your decision-making. STAR example: a production bug impacting check-in emails — how quickly you identified scope, your decision process (rollback vs hotfix), how you communicated to affected users.
How does caching strategy differ for flights (real-time pricing) vs static hotel metadata?
Tip: Flight fares: TTL 2–5 minutes (prices change rapidly), stale data = wrong booking. Hotel metadata (photos, amenities): TTL 24h–7 days, rarely changes. Strategy: use two-tier caching — CDN (long TTL) for static metadata, application cache (short TTL) for fares. Cache invalidation triggers: price change events from airlines.
Explain how you would implement search autocomplete for destination names at MMT.
Tip: Trie data structure: O(prefix_length) lookup. For large scale: Elasticsearch completion suggester (edge n-gram based) or Redis sorted sets (lexicographic range scan). Prefix cache: pre-compute top-10 results for top-1000 prefixes. Personalisation: boost recently searched destinations per user.
What is GraphQL and what advantages would it have over REST for MMT's mobile app?
Tip: GraphQL: client specifies exact data shape needed — no over-fetching (GET /flights returns all fields) or under-fetching (two REST calls for related data). For MMT mobile: one query fetches flight + hotel bundle for a package. Trade-off: caching is harder (POST queries), N+1 problem needs DataLoader pattern.
MakeMyTrip (India) Pvt. Ltd. interviews follow a 3-round process. Here is what to expect and how to prepare for each stage.
Upload your resume and get questions scored across technical depth, communication, structure, confidence, and relevance — the same criteria MakeMyTrip panels use.