All companies
MakeMyTrip logo
Indian Unicorn
SDE-1, Product Analyst
Online assessment (Coding / Aptitude + Coding) + Technical (DSA, OOSD) + Managerial rounds

MakeMyTrip SDE-1 & Product Analyst — Hiring Structure, Syllabus & 8-Week Prep Plan 2026

MakeMyTrip hires freshers and early-career professionals through two distinct tracks. SDE-1 focuses on high-performance product engineering with rounds on DSA, Object-Oriented Design (OOSD), and travel-tech system design. Product Analyst candidates are evaluated on SQL, Python, experimentation (A/B testing), and business metrics specific to the travel marketplace like conversion funnels and retention.

SDE-1: 90 min coding (2–3 problems) or 60 min (Aptitude + 3 coding) · Product Analyst: SQL, Python, funnels, retention & travel-business cases

Last updated:

Exam Pattern

SDE-1: 90 min coding (2–3 problems) or 60 min (Aptitude + 3 coding) · Product Analyst: SQL, Python, funnels, retention & travel-business cases

SectionQuestionsTimeTypeDifficulty
SDE-1 · Online assessment2–3 problems90 minCoding & Problem SolvingMedium–Hard
SDE-1 · DSA interview1–2 problems60 minLive algorithms & optimizationMedium–Hard
SDE-1 · Design / OOSD round1 scenario60 minOOSD & System thinkingHard
Product Analyst · Technical roundMixedTimedSQL, Python, funnels, behaviorMedium
Product Analyst · Case interview1–2 cases45–60 minBooking conversion & metricsMedium–Hard
Common · Hiring managerVaries45 minCulture, ownership & fitMedium

Section-Wise Syllabus

Everything that appears in the assessment, grouped by section.

1. SDE-1 — DSA & Engineering

Arrays & Strings

  • • Prefix sums
  • • Difference arrays
  • • Two pointers
  • • Sliding window
  • • Hashing
  • • Subarrays & subsequences
  • • Frequency counting
  • • Palindromes
  • • Anagrams
  • • Minimum window
  • • Coordinate compression

Linked Lists & Stacks

  • • Reverse in groups of k
  • • Detect a cycle
  • • Merge sorted lists
  • • Clone a random-pointer list
  • • Balanced parentheses
  • • Min stack
  • • Next greater element
  • • Largest rectangle in histogram
  • • Sliding-window maximum

Trees, Graphs & DP

  • • Lowest common ancestor
  • • Validate BST
  • • Serialize & deserialize
  • • BFS and DFS
  • • Topological sorting
  • • Dijkstra
  • • Multi-source BFS
  • • House robber
  • • Coin change
  • • Knapsack
  • • LIS/LCS
  • • Edit distance

Travel-tech Algorithms

  • • Shortest route between airports
  • • Nearest hotel/airport search
  • • Geospatial indexing
  • • Haversine distance
  • • Interval scheduling
  • • Calendar conflicts
  • • Dynamic pricing
  • • Inventory allocation

2. SDE-1 — OOSD & System Design

OOP Fundamentals

  • • Classes & Objects
  • • Encapsulation & Abstraction
  • • Inheritance & Polymorphism
  • • Composition vs Inheritance
  • • SOLID principles
  • • Factory pattern
  • • Strategy pattern
  • • Observer pattern
  • • State pattern
  • • Dependency injection

Design Scenarios

  • • Hotel-booking system
  • • Flight-booking system
  • • Travel itinerary planner
  • • Coupon & discount engine
  • • Room-inventory service
  • • Cab-transfer system
  • • Cancellation & refund state machine
  • • LRU cache
  • • Rate limiter

Reliability & Concurrency

  • • Room inventory race conditions
  • • Temporary reservation locking
  • • Payment timeout handling
  • • Idempotency in bookings
  • • Supplier inconsistency reconciliation
  • • Ticket issuance recovery

3. Product Analyst — Data & Business

SQL & Analytics

  • • Joins & Aggregations
  • • CTEs & Subqueries
  • • Window functions (RANK, LAG, LEAD)
  • • Date/Time functions
  • • Conditional aggregation
  • • Cohort analysis
  • • Funnel analysis
  • • Retention & Churn
  • • Running totals

Python & pandas

  • • NumPy & pandas basics
  • • groupby & merge
  • • pivot_table
  • • Duplicate & missing-value handling
  • • Date & Time-zone conversion
  • • Basic visualization

Statistics & Experimentation

  • • Mean, median, mode
  • • Variance & standard deviation
  • • Percentiles
  • • Probability & Sampling
  • • Hypothesis testing & p-values
  • • A/B testing
  • • Statistical power
  • • Type I & II errors

Travel Metrics

  • • Search-to-detail conversion
  • • Detail-to-booking conversion
  • • Search abandonment
  • • Payment success rate
  • • Gross booking value
  • • Take rate
  • • CAC & LTV
  • • Room fill rate
  • • Supplier response time

Most Asked Topics

Highest-frequency areas across recent test papers.

Room inventory race conditions

How to handle concurrent booking requests for the last available room using locking or versioning.

Minimum rooms for overlapping bookings

A classic interval problem requiring sorting start/end times or using a min-heap.

Booking conversion decline

Root cause analysis of a 15% drop in bookings—segmenting by price, device, destination, and payment success.

Cancellation/Refund state machine

Modeling states: booked, cancellation-requested, refund-pending, refunded, and failed.

Idempotency in payments

Ensuring a retry after a timeout doesn't double-charge the user for the same flight/hotel.

Free Resources

Curated practice links per section.

50+ DSA Practice Problems

Solve in order — arrays and strings first, then sorting and recursion.

Arrays & Strings

  1. Longest substring without repetition
  2. Maximum subarray sum
  3. Smallest missing positive integer
  4. Product of array except self
  5. Merge intervals
  6. Subarray sum equals K
  7. Longest consecutive sequence

Lists & Stacks

  1. Reverse linked list in groups of k
  2. Detect a cycle in linked list
  3. Clone a random-pointer list
  4. Largest rectangle in histogram
  5. Sliding-window maximum
  6. Min stack

Trees & Graphs

  1. Lowest common ancestor
  2. Serialize and deserialize a tree
  3. Shortest route between airports (Dijkstra)
  4. Find number of connected components
  5. Topological sort (Task scheduling)

DP & Matrix

  1. Edit distance
  2. Stock buy-sell
  3. House robber
  4. Coin change
  5. 0/1 Knapsack
  6. Minimum rooms for overlapping bookings

Previous Year Questions & Patterns

Repeat coding questions with the expected approach.

SDE-1 Interview Questions

  • Design a hotel-room inventory system with concurrent booking support.
  • Find the minimum number of rooms required for a given set of overlapping check-in/check-out timings.
  • Implement a flight-booking service with seat-hold and timeout mechanisms.
  • Implement an LRU cache for frequently searched hotel results.
  • Design a cancellation/refund state machine with retry logic for failed refunds.
  • Find the shortest route between two airports given a list of direct flight paths.

Product Analyst Questions

  • Booking conversion declined by 15% overnight—how would you investigate the root cause?
  • Search traffic rose by 10% but bookings fell by 5%. What could explain this discrepancy?
  • How would you measure the success and incrementality of a seasonal coupon campaign?
  • Hotel cancellations increased significantly in Goa. What data points would you analyze?
  • Why might average booking value (ABV) increase while total booking volume falls?
  • Design an A/B test for a new 'Fast Checkout' feature on the flight search page.

20+ SQL Query Bank

Write these out by hand — joins and subqueries are asked in both the test and the interview.

Conversion & Funnels

Daily conversion rate

SELECT DATE(event_time) AS event_date,
       100.0 * COUNT(DISTINCT CASE WHEN event = 'booking' THEN user_id END) 
       / NULLIF(COUNT(DISTINCT CASE WHEN event = 'search' THEN user_id END), 0) AS conversion_rate
FROM travel_events
GROUP BY 1;

Booking funnel count

SELECT event,
       COUNT(DISTINCT user_id) AS users
FROM travel_events
WHERE event IN ('search', 'detail', 'booking')
GROUP BY event;

Customer Behaviour

Repeat travellers

SELECT user_id
FROM bookings
WHERE booking_status = 'COMPLETED'
GROUP BY user_id
HAVING COUNT(DISTINCT booking_id) > 1;

Top 10 destinations

SELECT destination, COUNT(*) AS completed_bookings
FROM bookings
WHERE booking_status = 'COMPLETED'
GROUP BY destination
ORDER BY completed_bookings DESC
LIMIT 10;

DBMS & Core Interview Q&A

Short answers you should be able to say out loud.

How to handle inventory race conditions in a hotel booking DB?

Use optimistic locking (version column) or pessimistic locking (SELECT FOR UPDATE) to ensure the same room isn't booked twice.

What is idempotency in payment APIs?

Ensuring that the same request (with a unique ID) results in the same outcome, preventing multiple charges for a single booking.

Difference between RANK and DENSE_RANK?

RANK leaves gaps in sequence after a tie; DENSE_RANK does not.

Why use a CTE for funnel analysis?

It improves readability by breaking the funnel into separate steps (search, view, book) before final aggregation.

OOPs Concepts + 10 Code Snippets

Theory plus the exact snippets asked in the technical round.

SOLID Principles

Applying Single Responsibility and Open-Closed principles to design maintainable booking services.

State Pattern

Used to manage complex lifecycles like Booking (PENDING → CONFIRMED → CANCELLED).

Strategy Pattern

Applying different pricing or discount algorithms based on user segment or travel date.

Dependency Injection

Injecting different payment gateways (Stripe, Razorpay) into the booking service.

LRU Cache skeleton (for hotel searches)

java

class LRUCache {
    private final int capacity;
    private final Map<Integer, Node> map;
    private final DoublyLinkedList list;

    public Hotel get(int hotelId) {
        if (!map.containsKey(hotelId)) return null;
        Node node = map.get(hotelId);
        list.moveToHead(node);
        return node.hotel;
    }

    public void put(int hotelId, Hotel hotel) {
        if (map.containsKey(hotelId)) {
            Node node = map.get(hotelId);
            node.hotel = hotel;
            list.moveToHead(node);
        } else {
            if (map.size() == capacity) {
                Node tail = list.removeTail();
                map.remove(tail.id);
            }
            Node newNode = new Node(hotelId, hotel);
            list.addHead(newNode);
            map.put(hotelId, newNode);
        }
    }
}

Interval overlap check (min rooms required)

cpp

int minRooms(vector<pair<int, int>>& intervals) {
    vector<int> start, end;
    for (auto& p : intervals) {
        start.push_back(p.first);
        end.push_back(p.second);
    }
    sort(start.begin(), start.end());
    sort(end.begin(), end.end());

    int rooms = 0, max_rooms = 0, i = 0, j = 0;
    while (i < start.size()) {
        if (start[i] < end[j]) {
            rooms++; i++;
        } else {
            rooms--; j++;
        }
        max_rooms = max(max_rooms, rooms);
    }
    return max_rooms;
}

pandas destination summary

java

destination_summary = (
    bookings[bookings['status'] == 'COMPLETED']
    .groupby('destination', as_index=False)
    .agg(
        bookings=('booking_id', 'nunique'),
        revenue=('revenue', 'sum'),
        avg_value=('revenue', 'mean')
    )
    .sort_values('revenue', ascending=False)
)

Operating System Basics

Scheduling, deadlock and memory management essentials.

Concurrency for Bookings

  • • Thread-safe inventory updates
  • • Distributed locking for multi-node services
  • • Handling database connection pool exhaustion
  • • Timeouts for third-party airline APIs

Reliability Engineering

  • • Idempotent API design
  • • Retry mechanisms with exponential backoff
  • • Graceful degradation (e.g., cached results if search service is slow)
  • • Circuit breakers for payment gateways

4-Week Preparation Roadmap

From zero to test-ready in 28 days.

Week 1

Arrays, strings & travel funnels

  • Solve 15 array/string problems
  • SQL basics (SELECT, GROUP BY)
  • Analyze MMT search-to-booking funnel

Goal: Master core data manipulation.

Week 2

Linked Lists & Advanced SQL

  • LL cycle detection
  • Window functions (RANK, LEAD)
  • Cohort analysis queries

Goal: Understand linear structures and analytical SQL.

Week 3

Stacks, Trees & Python basics

  • Balanced parentheses
  • Tree traversals
  • pandas DataFrame basics

Goal: Advance to non-linear structures and data tools.

Week 4

Graphs & Experimentation

  • Dijkstra's for routes
  • A/B testing concepts
  • Statistical significance (p-values)

Goal: Connect data points and understand testing.

Week 5

Dynamic Programming & Product Cases

  • LIS/LCS problems
  • Booking conversion decline cases
  • Search abandonment analysis

Goal: Solve optimization and business root-cause problems.

Week 6

OOSD & LLD

  • SOLID principles
  • Design a booking system
  • State machines for refunds

Goal: Build scalable object-oriented designs.

Week 7

System Design & Business Metrics

  • Scalable search architecture
  • CAC/LTV calculation
  • Dynamic pricing models

Goal: Integrate components into high-level systems.

Week 8

Mock Tests & Final Review

  • 90-min timed OA
  • Product Analyst case interview prep
  • Resume project deep-dive

Goal: Build exam-day confidence.

Exam Day Strategy

Score targets and time allocation.

Section targets

  • Coding OA: Aim for 2/3 problems solved completely; handle edge cases for intervals.
  • Technical DSA: Think aloud; focus on time complexity for Dijkstra or shortest path algorithms.
  • Design Round: Clarify requirements first (room types, cancellation policies) before drawing classes.
  • Product Case: Always segment the data (by city, app version, payment mode) to find the 'why'.

Coding time split (50 min)

  • 15 min: Requirement gathering & edge cases
  • 45 min: Core logic implementation
  • 20 min: Optimization & memory checks
  • 10 min: Testing & dry run

Interview Process

What follows the online test.

Resume Selection

  • • Focus on scalable projects (SDE)
  • • Highlight data-driven decisions/Python projects (PA)

Online Assessment

  • • Combination of DSA and Aptitude for campus
  • • 90-minute coding for lateral hires

Technical Rounds

  • • DSA-focused live coding
  • • In-depth Object Oriented Design discussion

Managerial Round

  • • Conflict resolution
  • • Ownership of production issues
  • • Travel industry interest

Mock Test Plan

Four simulations to run before the real test.

MakeMyTrip SDE-1 Mock

  • • 1 Medium String
  • • 1 Hard DP (Intervals)
  • • 1 Low Level Design (Parking/Booking)

MakeMyTrip Analyst Mock

  • • 3 SQL (Joins/Windows)
  • • 1 Python Data Cleaning Task
  • • 1 Business Case (Booking Drop)

Final Checklist

Tick all of these before test day.

Master interval-based DSA problems
Understand idempotency and distributed locking
Prepare travel-specific SQL funnels
Revise A/B testing and statistical significance
Practice LLD for booking/inventory systems

Recent Interview Experiences

First-hand write-ups from students who actually sat the MakeMyTrip process.

Be the first to share a MakeMyTrip interview experience.

Frequently Asked Questions

Is competitive programming necessary for MMT?

Strong DSA and problem-solving skills are critical, but focus more on clean code and design for SDE-1.

What is the most important skill for a Product Analyst at MMT?

A mix of strong SQL/Python skills and the ability to derive business insights from travel marketplace data.

Does MMT ask about System Design for freshers?

Yes, freshers are expected to know Low-Level Design (LLD) and basic high-level components of a booking platform.

Want the full structured prep for MakeMyTrip?

The Premium Vault covers Aptitude, Core CS, DSA, SQL and HR rounds with module-wise courses and drill sheets.

Next steps chosen from the MakeMyTrip pattern and other Indian Unicorn recruiters.

Other Indian Unicorn companies

Core CS subjects for this pattern

Recommended practice path