MakeMyTrip (MMT) is India's largest online travel platform, operating MakeMyTrip, Goibibo, and redBus under the Info Edge-listed group. The engineering team in Gurugram and Bengaluru works on problems unique to travel-tech: dynamic pricing at airline-grade scale, personalised search ranking across millions of hotel and flight inventory combinations, and fault-tolerant booking flows across airline APIs that frequently go down. The interview process is mid-tier product company difficulty: comparable to Nykaa or Ola, with travel-domain framing throughout.
MakeMyTrip Interview Process
For SDE roles (2–6 years experience):
Round 1: Telephonic or Online Assessment
- Basic aptitude + 1–2 easy DSA problems
- Sometimes a resume walk-through with a junior HR or recruiter
Round 2: Technical Interview 1 (DSA)
- 1–2 Medium problems live on shared editor or Google Doc
- Travel-domain framing common: 'find the cheapest itinerary combining flights', 'given seat availability updates, find the first available seat'
- Underlying algorithms are standard: recognise quickly
Round 3: Technical Interview 2 (System Design or Low-Level Design)
- For 3+ years: High-Level System Design
- Design the flight search and booking flow
- Design a dynamic pricing engine for hotel rooms
- Design the inventory sync system between MMT and airline GDS
- Design a real-time flight status tracker
- For 1–3 years: Low-Level Design
- Design a Booking class hierarchy with cancellation and modification
- Design a fare comparison engine that processes 1,000 airline fare responses
Round 4: Engineering Manager / Director
- Technical: deep-dive on a past system you owned
- Behavioural: stakeholder management, handling production incidents, cross-team dependencies
- Culture: MMT values ownership and fast iteration: questions probe whether you drive outcomes or just complete tickets
Round 5: HR (Compensation)
- Flexible on joining bonus and notice period buyout
- Base negotiation moderate: competing offer from comparable company carries weight
DSA Questions at MakeMyTrip
MMT's DSA questions are Medium difficulty with strong travel-domain framing. The algorithm is standard; the context wraps it in flights, hotels, or booking scenarios.
Q1: Find the cheapest flight itinerary with at most K stops Variant of 'Cheapest Flights Within K Stops' (LeetCode 787). ```python import heapq def findcheapestprice(n, flights, src, dst, k): graph = {} for u, v, w in flights: graph.setdefault(u, []).append((v, w)) # (cost, city, stops_remaining) heap = [(0, src, k + 1)] visited = {} while heap: cost, city, stops = heapq.heappop(heap) if city == dst: return cost if stops == 0: continue if (city, stops) in visited: continue visited[(city, stops)] = True for nei, price in graph.get(city, []): heapq.heappush(heap, (cost + price, nei, stops - 1)) return -1 ```
Q2: Hotel room booking: find the minimum number of rooms to serve all bookings Given check-in and check-out times for N bookings, find the maximum overlapping bookings at any point (= minimum rooms needed). Variant of 'Meeting Rooms II'. ```python import heapq def minmeetingrooms(intervals): if not intervals: return 0 intervals.sort(key=lambda x: x[0]) heap = [] # min-heap of end times for start, end in intervals: if heap and heap[0] <= start: heapq.heapreplace(heap, end) else: heapq.heappush(heap, end) return len(heap) ```
Q3: Reconstruct itinerary from a list of flight tickets Given a list of [departure, arrival] pairs, reconstruct the full itinerary starting from 'DEL'. All tickets must be used. Solution: Hierholzer's algorithm for Eulerian path on directed graph.
Q4: Fare calendar: find the cheapest day to fly in a date range Given an array of fares indexed by day, find the minimum fare in each window of K days. Solution: Monotonic deque (sliding window minimum). O(n) time.
Q5: Trip budget optimiser Given a list of (hotel, cost, rating) options for each city in a trip, select one hotel per city to maximise average rating within a total budget. Solution: DP with budget as a dimension: similar to 0/1 knapsack.
System Design at MakeMyTrip
MMT system design focuses on inventory management, real-time pricing, and fault-tolerant integrations with external airline GDS systems.
Question 1: Design the flight search system
Requirements: User searches DEL → BOM on 15 Aug for 2 passengers. System returns all available flights with fares, sorted by price.
Key components:
- Inventory source: Airlines publish inventory via GDS (Global Distribution System: Amadeus, Sabre, Travelport). MMT calls GDS APIs in real-time or pulls cached inventory.
- Caching strategy: Flight availability changes frequently but fare caching for 5–15 minutes is acceptable for search display. Final booking always live-checks with the airline.
- Search flow: User query → route decomposition (direct + 1-stop combos) → parallel GDS calls → merge results → fare sorting/filtering → display
- Fault tolerance: GDS APIs have notoriously poor uptime. Circuit breaker pattern per GDS. Fallback to cached inventory (marked as 'may have changed').
- Personalisation: Rank by user's past booking preferences (preferred airlines, seat class, price sensitivity).
Question 2: Design a dynamic hotel pricing engine
- Inputs: Room inventory from hotel partners (capacity, existing bookings), demand signals (searches per day on that property, competitor pricing, seasonal calendar), cost floor (minimum margin above hotel wholesale rate)
- Pricing rules: Weekends + holidays → multiplier. Near check-in date (< 3 days) + rooms available → discount to fill. Demand surge (searches up 40% in last 24h) → price increase.
- Execution: Price recalculated hourly for each (hotel, room_type, date) tuple. Stored in Redis with TTL. API call always reads from cache.
- A/B testing: New pricing algorithms are tested on 5% of traffic before global rollout. Metric: margin per booking, not just conversion rate.
Question 3: Design the booking flow with external airline dependency
- The booking flow calls the airline API at multiple steps: seat selection, PNR creation, payment capture, ticket issuance
- Problem: Airline APIs are slow (3–10 second responses) and sometimes fail mid-flow
- Saga pattern: Each step of the booking is a compensating transaction. If airline API fails at step 3 (ticket issuance), the system rolls back seat hold and refunds payment.
- Idempotency: Every API call to the airline includes a unique bookingreference. If the call times out and is retried, the airline deduplicates on bookingreference.
MakeMyTrip's behavioural rounds specifically probe ownership and how you handled failures in production: the fault-tolerant booking flow you designed, the pricing bug you caught before it cost the company revenue. HireStepX's STAR-scored voice practice is built for exactly these conversations.
Practice freeMakeMyTrip Salary in India 2026
MakeMyTrip is a mid-tier product company by compensation: above IT services, below Razorpay/Zomato/Swiggy, roughly comparable to Nykaa, PolicyBazaar, and Cars24.
SDE: | Level | Salary Range | |---|---| | SDE-1 (0–2 yrs) | ₹15–25 LPA | | SDE-2 (2–5 yrs) | ₹25–48 LPA | | Senior SDE (5–8 yrs) | ₹45–75 LPA | | Staff / Principal | ₹70–100 LPA |
Data Science / ML: | Level | Salary Range | |---|---| | DS-1 (0–2 yrs) | ₹14–24 LPA | | Senior DS (3–6 yrs) | ₹25–50 LPA |
Product Manager: | Level | Salary Range | |---|---| | APM / PM-1 | ₹20–32 LPA | | PM-2 / Senior PM | ₹32–60 LPA |
Compensation notes:
- ESOPs: listed stock (Nasdaq: MMYT); liquid but price-volatile
- Primary office: Gurugram (HQ), with a Bengaluru engineering hub
- Joining bonus: commonly offered to offset notice period cost for lateral hires
- Negotiation: flexible on joining bonus; base increment limited to ~20–25% on internal benchmarks; competing offer from Nykaa/Ola/Cars24 is effective leverage