14 minutes
My Interview Experience at MakeMyTrip On-Campus 2025
Hello, this is my interview experience of MakeMyTrip on campus
Round 1 - Online Assessment (1 hour 30 mins):
This round was taken on hackerearth and consists of 2 sections -
MCQ’s: There were a total of 20 technical MCQ’s which were easy to medium difficulty itself.
Coding: This section consisted of 2 coding questions (could be done in a lot of languages like Python, Java, C++ and many more)
The first was question was a simple variation of the longest palindromic subsequence.
The second question was based on graphs and could be quite easily solved with Kruskals algorithm i.e based on disjoint sets so one could use union find and get the answer pretty easily.
Round 2 - Technical interview (1 hour):
Taken by a senior engineeing manager at mmt who has like 10+ years or experience. Overall the whole round went decent, consisted just a few basic questions on OOPS and a puzzle and 2 dsa questions, one of them had to code it up fully and other one just the approach.
The round started of with basic introduction and then he asked me about Adobe India Hackathon and what i did there as i had mentioned that in my resume, so i explained the whole problem statement that was given by adobe and how we actually approached to solve that, was just a 5-6 mins discussion on it.
Then he asked me out of the languages mentioned in my resume (Python, C/C++, Java, Javascript) which of them do i like the most and which am i comfortable with. I said python so he asked why, i told that its more high level and lets me focus more on the logic than syntax and that i have been learning it since a long time so i am more comfortable with it and also that i use languages like Java and C++ as well depending upon the context and my requirement as C++ is more lower level and we can directly deal with the memory and Java for OOPS etc.
So now the focus shifted to OOPS, he asked me what exaclty it is (its basically a programming paradigm that lets you represent the code in the form of objects and classes and that it is supported with the 4 pillars i.e concepts like Abstraction, Encapsulation, Polymorphism and Inheritance).
He asked me to expain Run Time Polymorphism and after gave me like not exactly code snippets but like questions based on a code that he just told verbally, it was about Polymorphism itself mainly overriding methods and then one of the questions i had not heard properly so i ended up giving a wrong answer, so he told me to open any editor and type the code and run it and see what the output would be, the code was something like this -
class A{
public void print(){
System.out.println("A");
}
}
class B extends A{
@override
public void print(){
System.out.println("B");
}
}
class Main{
public static void main(String[] args){
B a = new A();
a.print();
}
}
So the answer to this is actually error, this code gives an error as the B is a subclass of A and A cannot be converted to B, so that object “a” cannot be instantiated itself.
Ok so now he asked me to solve a puzzle, the puzzle was the same as 1000 light bulbs switched on/off by 1000 people passing by. It was 100 for me instead of 1000 thats it. I could not solve it fully just gave partial answers but i kept talking what i was doing so that communication has to be maintained throughout that is very important!
Link: https://www.geeksforgeeks.org/dsa/puzzle-1000-light-bulbs-switched-on-off-by-1000-persons-passing-by/
So now starts the DSA part, 2 questions one with the full code and second one he asked and was satisfied with the approach i gave, as soon i as i had sstarted coding he said its fine thats all from his side. The questions were -
Longest Increasing Subsequence - You are given an array, find the length of the longest strictly increasing subsequence, i solved using the recursive + memoization approach but he wanted more optimal, so i just explained the bottom up dp approach but could not actually code it up. After this he gave a little variation and told me to print the whole array not just the length, so i modified my top down code itself and ran it and it worked! and after this he asked the time complexity as well, i had to share my screen and code so i could use any editor i wanted, i used neovim itself he was fine with it. The code i wrote is as follows-
arr = [10, 4, 1, 5, 9, 100, 56, 20]
memo = [[-1 for _ in range(len(arr) + 1)] for _ in range(len(arr))]
def lis(index, prev):
if index >= len(arr):
return []
if memo[index][prev + 1] != -1:
return memo[index][prev + 1]
dont_take = lis(index + 1, prev)
take = []
if prev == -1 or arr[index] > arr[prev]:
take = [arr[index]] + lis(index + 1, index)
memo[index][prev + 1] = dont_take if len(dont_take) > len(take) else take
return memo[index][prev + 1]
print(lis(0, -1))
The next question was very similar to Rotten oranges, given a 2D matrix with 0 representing empty, 1 representing fresh apple and 2 representing rotten apple, the rotten one can make the adjacent fresh apples rotten in a single unit of time, you need to find the time it takes to make all the fresh apples rotten if possible. So when a dsa question like this comes make sure all the edge cases are covered, if any confusions ask the interviewer so i just asked him ok so one rotten apple in a single unit can make all the adjacent fresh ones rotten then we increase the time by 1 unit etc. just basic clarification so that he knows i understood the question properly. Then i started telling him the approach i would use i.e BFS. This can easily be solved using BFS, so we have to queue all the rotten apples and meanwhile count the total number of fresh ones too to decrement count later to check at the end if all the apples have become rotten or not. Then run a loop until the queue is empty and run an iteration over all the current rotten apples in the queue and meanwhile count how many fresh ones have become rotten in that one for loop iteration, if one or more fresh ones became rotten, then only increase the time by 1 unit. So I explained the whole approach in detail even the data structures used in the code but as soon as i was going to start coding he said its fine he was satisfied with the approach and he said that was all from his side.
So coming to the end of this round, he asked if i have any questions i just asked him since he has been working for so long in the company what excites him the most about it. He answered the question well and then done this round was over!!
Round 3 - Technical interview (1 hour 10 mins):
This was taken by an Associate architect in mmt. Overall this round was pretty challenging, i would say much harder than the previous round. He tested my understanding of concepts and my thinking and approach more than the exact solution as the questions in this round would not have a single solution, it can have many say like based on the different tradeoffs that can be made etc. Mainly had to think out loud and speak everything in my mind and it was more like a discussion rather than just questions and answers.
So this round also started off with a basic introduction and technical interests, and he was a really friendly guy so he just asked me if i know kannada since i told him i have been living in bangalore since a long time and well i didnt know so he teased me on that like learning languages like python, C++ etc is easier than kannada huh! this round started off in a very fun way he made me very comfortable intially he was really nice!
Then he was checking my resume meanwhile and asked me about one of my projects which is the big data course project, it was about building a core yadtq(yet another distributed queue) module that can be used by the clients and the workers directly, the client can send tasks and check the results and the workers can process the tasks and update the status and this project also included heartbeat monitoring to check for worker failures and we also made a shell script for auto partitioning. This project used kafka as the message broker and redis as the in memory data store. He grilled me a lot on kafka, about topics and partitions in general, i told how much ever i knew he wasnt fully fully satisfied but told me to read more on this.
Then we went to the problem solving part which was pretty challenging and was more like a discussion from both sides. He asked me to open notepad so i could use that to write or maybe draw stuff too. So the question was like -
You have a million files, the names of the files are unique and they may contain duplicates too based on the content in the files, so you need to find the duplicates in these files and remove them how would you do it.
This was the question, so initially i tried to understand it and clarified a few doubts on it like what about the file size and number of machines etc. I initially told him lets assume we have a single machine and then later on went to the case where we could have multiple machines too. Since it was getting too much at once he told me ok wait think you have words instead of files then how would you do it. I thought and told a simple way we could do it is using hashing where we hash the the words and send them to a bucket and if the same word is already present then no need to add it in the bucket so we would be left with no duplicates, then this discussion eventually led to a in depth discussion on hashing like internally how is it actually implemented because multiple different words might be hashed to the same value so same bucket so a collision will occur, then in that case how will this collision be resolved, I also drew this part in notepad just using normal square brackets to show the buckets and like a linked list in it to handle collisions etc so that it was clearly conveyed to him, he seemed pretty happy with the explanation and my attempt to visualize it as well. Had a really nice indepth discussion on hashing, then we came to the original question which was about files so a similar approach could be used here and in this case we could use the whole file content that is needed to be hashed since that is the only way we could potentially identify the duplicates. So then i also spoke about how in the case where we have multiple machines we could hash all the files first based on the number of machines and send a certain number to each machine so the workload on a single machine would be reduced etc. It was a nice discussion and i told all my thought how much ever i could think at that time.
So the next question was about building a chatbot, so i actually didnt know how to do this so this discussion was a little short itself but i still tried my level best to think and told him whatever i had in my mind even thought it was not fully correct. I was not fully into RAG’s and Langchain so that was something that i lacked in this round but he said it was fine, this was a very unexpected question as nothing about this was mentioned in my resume as well so the point was just to be aware of the latest trends especially MMT asked a lot about GenAI so its better to be aware of that.
Then came the final question of this round, this also was more like a discussion itself where he tested how i could identify and resolve the potential issues that might arise and how i would overall approach this problem. So the question was like -
There are a lot of people playing an online game where they receive points after some certain tasks are done, so these are coming to you in the form of events like {player_name, score}, you need to design a leaderboard that would show the top 100 players with their scores and you cant use any database or anything.
So here he was testing my approach and thinking about the edge cases and potential issues. I told him we could do this using heaps so i started explaining my approach while writing the pseudocode for it too, and a lot of things needed to be handled here eventually i also asked him a lot about the question like what exactly do we need and that what are the form of events because that was not so clear in the question he said and a single player can keep playing so in that case the score needs to handled for each individual player too etc. I thought of using heaps as well as hashmaps, was a pretty long discussion and i tried my best to solve it and kept speaking about what i am thinking and how i am solving the problem, i told him something around the lines of maintaing the top 100 scores in heap and each players individual score in hashmap but then here again a problem comes such as say a players name already in the top 100 and he gets more points so in the heap also we would need to add it up, this becomes an issues we discussed a lot about the issues also and had some general discussion on heaps too. He mentioned about how we could maybe use a custom sorting operation within the heaps and store objects in the heap and not just the score, i built up on this too and agreed and spoke more on this approach. It was all about thinking and communicating rather than getting a single solution only. He said at the end that yes the approach was partly right and that priority queues i.e heaps is the right approach.
The discussion was very long so he ended it here and then asked me if i have any questions for him. So i asked him 3 questions like the tech stack i would be working on if i were to join MMT, then i asked him about his experience in the industry and MMT as well and finally asked him if he as any feedback or advice for me to which he said yes for you and everyone actually at this stage of my career the fundamentals need to be very strong and that i need to be aware of the latest trends too like GenAi, its always better to stay updated with whats going on around.
Round 4 - HR Round (15 mins):
After the previous round i was not very confident about getting to the HR round but well the continuous thinking and communication and not giving up on the question helped a lot!!
This was a very relaxed round, she told me to introduce myself and talk about the technical and other interests and then she asked me about my experiences in the previous interviews which i told honestly that in brief what kind of questions were asked and that it was quite challenging plus fun too and that i got to learn a lot from it.
She then asked me to tell about any project that i did where the topics were not a part of the curriculum so i spoke a lot about my android app which i had made and then she asked about any group project i did and that led to questions like how i resolved conflict and the common issues that occur while working in a group. Then about what i know about MMT. Then she asked me if i would be willing to relocate as the locations were Bangalore and Gurgaon so i said yes i would be willing to relocate no issues. Then she said that they will get the feedback from the tech team and then get back to us regarding the results!
And boom results came 3 days later and i got in :D!!!
Overall it was an amazing experience and a pretty time consuming one too in terms of the number of days, and the main takeaway is that in interviews they are testing a lot more than just getting the answer fully right, you have to think out loud and communicate everything to them in a good way and its more like discussions so gotta keep that smile and maintain a positive vibe throughout and it will all be good!!
2909 Words
2025-08-20 02:00