MakeMyTrip · Software Engineer
Updated · 2026-10-02

MakeMyTrip Software Engineer
Interview Guide

THE 60-SECOND BRIEF

As a Software Engineer at MakeMyTrip, you are at the heart of one of the world's most dynamic travel-tech ecosystems. You will contribute to building high-scale, reliable, and user-centric systems that process millions of transactions, from flight bookings and hotel reservations to complex holiday packages. Your work directly impacts the travel experience of millions, requiring a balance of architectural rigor and rapid feature delivery. The role demands a deep focus on distributed systems, API performance, and database optimization. You will be working in an environment where latency and availability are critical; a few milliseconds of improvement can significantly enhance the user experience. You will collaborate with cross-functional teams, including Product Managers and Data Scientists, to solve complex problems that keep MakeMyTrip at the forefront of the travel industry.

This guide is scoped to a Software Engineer candidate at MakeMyTrip.

MakeMyTrip candidates report 2 rounds over 2-4 weeks. The stages below are what candidates describe, not a published process.

Algorithmic Problem SolvingDynamic Programming (DP)Backend Engineering

19 min read

Browse Software Engineer questions

See the practice prompts

11Practice promptsAcross five skill areas

As a Software Engineer at MakeMyTrip, you are at the heart of one of the world's most dynamic travel-tech ecosystems. You will contribute to building high-scale, reliable, and user-centric systems that process millions of transactions, from flight bookings and hotel reservations to complex holiday packages. Your work directly impacts the travel experience of millions, requiring a balance of architectural rigor and rapid feature delivery. The role demands a deep focus on distributed systems, API performance, and database optimization. You will be working in an environment where latency and availability are critical; a few milliseconds of improvement can significantly enhance the user experience. You will collaborate with cross-functional teams, including Product Managers and Data Scientists, to solve complex problems that keep MakeMyTrip at the forefront of the travel industry.

01

Initial Contact

reported

Candidates often reach out to recruiters directly via email to initiate the process.

What to demonstrate

  • Candidates often reach out to recruiters directly via email to initiate the process
  • Depth in Algorithmic Problem Solving

How to prepare

  • Answer aloud and timed: Minimum cost for tickets
  • Answer aloud and timed: Optimization of recursive solutions using memoization
MakeMyTrip Software Engineer candidate reports ↗
02

Technical Evaluation

reported

Candidates should be prepared for coding assessments early in the process.

What to demonstrate

  • Candidates should be prepared for coding assessments early in the process
  • Depth in Algorithmic Problem Solving

How to prepare

  • Answer aloud and timed: Handling edge cases in large-scale datasets
  • Answer aloud and timed: Array-based partitioning and search algorithms
MakeMyTrip Software Engineer candidate reports ↗

PracHub editorial advice for the preparation topics above.

01

Prioritize Test Cases

Always consider edge cases before you start coding. This shows a mature approach to software engineering.

02

Prepare for Live Coding

Practice writing code in a plain editor without syntax highlighting or auto-complete to simulate the interview environment.

03

Do not get stuck on a single approach if you hit a wall

Communicate your difficulty to the interviewer; they may provide a nudge that helps you pivot to a better solution.

04

Know Your Fundamentals

Don't skip the basics; deep knowledge of core algorithms is often the deciding factor.

Choose a category, try a prompt, then open its approach, worked solution or follow-up when you need it.

8 technical prompts0 include a worked solution

Minimum cost for tickets

medium
Coding and Algorithmic Problem Solving

Minimum cost for tickets

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.
Follow-up
  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Optimization of recursive solutions using memoization

medium
Coding and Algorithmic Problem Solving

Optimization of recursive solutions using memoization

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.
Follow-up
  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Handling edge cases in large-scale datasets

medium
Coding and Algorithmic Problem Solving

Handling edge cases in large-scale datasets

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.
Follow-up
  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Built from the rounds and topics MakeMyTrip candidates report.

Small steps. Visible outcomes.0 / 7 completed
ONE WEEK · YOUR PACE

Prepare, practise & reflect

One practical outcome each day. Spend longer where you need it.

0 / 7 done
01Map the MakeMyTrip loop
  • Write out the reported sequence: Initial Contact, Technical Evaluation.
  • For each round, write one sentence on what it is judging, from the description above, and mark the one you are least ready for.

Deliverable: A one-page map of the 2 reported rounds, with the weakest marked.

02Work Algorithmic Problem Solving
  • Spend the session on Algorithmic Problem Solving, which MakeMyTrip candidates report being tested on.
  • Write one worked example in Algorithmic Problem Solving and time yourself on it.

Deliverable: One timed worked example in Algorithmic Problem Solving.

03Work Dynamic Programming (DP)
  • Spend the session on Dynamic Programming (DP), which MakeMyTrip candidates report being tested on.
  • Write one worked example in Dynamic Programming (DP) and time yourself on it.

Deliverable: One timed worked example in Dynamic Programming (DP).

04Work Backend Engineering
  • Spend the session on Backend Engineering, which MakeMyTrip candidates report being tested on.
  • Write one worked example in Backend Engineering and time yourself on it.

Deliverable: One timed worked example in Backend Engineering.

05Answer out loud: Coding and Algorithmic Problem Solving
  • Answer aloud, timed: Minimum cost for tickets
  • Answer aloud, timed: Optimization of recursive solutions using memoization

Deliverable: Spoken answers to 2 reported Coding and Algorithmic Problem Solving question(s), under time.

06Rehearse your own examples
  • Prepare three examples from your own work where you made the decision, each with the outcome you can quantify.

Deliverable: Three examples written out, each with a number attached.

07Dry run for MakeMyTrip
  • Run one full mock under time, then write down the two questions you most want to ask your interviewers.

Deliverable: A completed timed mock and two questions to ask.

Expand any day for tasks and deliverables. Your progress is saved on this device.

Behavioural rounds judge the decision you made and what it cost.

Argue against a design, lose, and commit anyway

medium
disagreementservice boundariesdecision records

Describe a design you argued against and lost. State the failure you predicted as a named mechanism, not a feeling about complexity: two services that would need one transaction, a projection with no rebuild path, a write path with no idempotency key. Say what evidence you brought, what the decision maker weighed instead, and what you did after the decision was made: what you instrumented, what you wrote down, and whether the prediction came true. Five minutes.

Approach
  1. State the prediction in falsifiable form up front: the mechanism, the condition that triggers it, and the observable outcome. A prediction that cannot be checked also cannot be credited to you later.
  2. Show the evidence you had at the time and label each piece honestly as measured, analogous, or intuition. Keeping the intuition is fine; disguising it as data is the thing that erodes your standing in the next argument.
  3. Represent the opposing case at full strength, including the constraint you did not control: a fixed date, a team boundary, or the fact that the decision was cheap to reverse and yours was not.
  4. Make disagree-and-commit concrete. Name the artefact you left behind so the prediction could be settled without you: the alert and its threshold, the counter on the dashboard, the decision note that recorded the trade-off and the condition that would revisit it.
Follow-up
  • What threshold on that alert would have proved you right, and did anyone ever look at it?
  • If the same proposal arrived tomorrow with the same deadline, would you argue it the same way?

Unblock an engineer without taking the keyboard

easy
mentoringleasesat-least-once

A teammate has spent two days on a job handler that occasionally writes duplicate rows. They are certain the queue is delivering twice by mistake. You suspect a lease expiring under a slow handler, so the job is running concurrently with itself. Describe how you have unblocked someone in this position: what you asked before offering a hypothesis, what you showed them rather than told them, and what you left them owning. Then say what you would do if their theory turned out to be the right one.

Approach
  1. Ask before diagnosing, and ask for things answerable from data they already have: the attempt count on the job rows that produced duplicates, the handler's observed duration against its lease expiry, and whether the duplicate rows share a natural key that a unique constraint could have caught.
  2. Teach the shape rather than the answer. A lease cannot distinguish a dead worker from a slow one, so a handler that outruns its lease is running twice by design, and deploys deliver the other half by killing handlers mid-run on every rollout. Both of their candidate theories produce identical duplicate rows, which is why the evidence has to come from timings rather than from argument.
  3. Hand over a checklist they execute: a natural key on every write the handler performs so the second copy collides rather than appends, the record of intent written before any external effect, a lease heartbeat while running, and the metric that shows it working.
  4. Keep ownership with them deliberately. Pair on the first write, then step back; if you finish it yourself you have closed one ticket and left the same person stuck on the next redelivery.
Follow-up
  • How would you distinguish a genuine double-delivery from a lease expiry using only the data already stored?
  • Their handler calls an external endpoint before recording that it did. What do you tell them to change first?

Reverse your own decision and price the reversal

medium
reversibilitymeasurementmigrations

Describe a technical decision you made and later reversed. Pick one that cost something: a service you split and merged back, a cache you added and removed, an index you created that pushed the planner onto a worse plan, a projection you rebuilt from scratch. State what you believed when you decided, the measurement that changed your mind, how long the wrong version ran in production, and what the reversal cost in migrations, dual writes, and a deprecation window for callers you did not own.

Approach
  1. State the original rationale without irony, in the version you would still defend given what was known then. If it is not defensible, the story is about carelessness rather than judgement, and a different example serves you better.
  2. Give the measurement that moved with a before and after: the p99 that did not improve, the cache hit rate that sat at 40%, the plan that flipped to a sequential scan once the table passed a size you can name.
  3. Cost the reversal in steps, not adjectives: expand-and-contract deploys, the dual-write window, the callers who had to be notified, the rows already written in the wrong shape that had to be backfilled or abandoned.
  4. Distinguish reversal from rewrite by naming what you kept. Most good reversals preserve the schema or the interface and undo one decision inside it, which is also why they were affordable.
Follow-up
  • What in that decision was irreversible, and did you know it was irreversible when you made it?
  • How did you tell the people who had already built on top of the original decision?
  • 01

    Describe a design you argued against and lost. State the failure you predicted as a named mechanism, not a feeling about complexity: two services that would need one transaction, a projection with no rebuild path, a write path with no idempotency key. Say what evidence you brought, what the decision maker weighed instead, and what you did after the decision was made: what you instrumented, what you wrote down, and whether the prediction came true. Five minutes.

  • 02

    A teammate has spent two days on a job handler that occasionally writes duplicate rows. They are certain the queue is delivering twice by mistake. You suspect a lease expiring under a slow handler, so the job is running concurrently with itself. Describe how you have unblocked someone in this position: what you asked before offering a hypothesis, what you showed them rather than told them, and what you left them owning. Then say what you would do if their theory turned out to be the right one.

  • 03

    Describe a technical decision you made and later reversed. Pick one that cost something: a service you split and merged back, a cache you added and removed, an index you created that pushed the planner onto a worse plan, a projection you rebuilt from scratch. State what you believed when you decided, the measurement that changed your mind, how long the wrong version ran in production, and what the reversal cost in migrations, dual writes, and a deprecation window for callers you did not own.

PracHub preparation framework ↗
How difficult are the coding rounds at MakeMyTrip?

The difficulty level is comparable to industry-standard assessments. Focus on mastering medium-level problems, ensuring you can write code that runs perfectly against all test cases.

MakeMyTrip Software Engineer candidate reports ↗
Is the process always one week?

While many candidates experience a one-week timeline, it can vary based on team availability and hiring urgency. Maintaining momentum throughout the process is key.

MakeMyTrip Software Engineer candidate reports ↗
What is the best way to stand out?

Demonstrate clear communication during your coding rounds. Explaining your logic as you write code is just as important as the code itself.

MakeMyTrip Software Engineer candidate reports ↗
What topics does MakeMyTrip test in interviews?

MakeMyTrip interviews most often cover SQL, Java, Object-Oriented Programming (OOP), Problem solving, and Algorithmic Problem Solving. The exact emphasis depends on the specific role you apply for.

MakeMyTrip Software Engineer candidate reports ↗
Sources & methodology 3 sources ↗

No official company page is cited. Rounds and questions come from candidate reports and PracHub editorial material; each source shows the date it was read.