Round 1 (Online Coding): This round happened two days before MMT visited our college. There were 3 different sets and it was held on HackerEarth. There were 2 coding questions and around 20 MCQs. Two of the sets were 1 hr 30 mins and 3rd one was of 2 hrs 10 min (Don’t know why they had different time limits for sets). The coding questions were medium-hard level. MCQs required deep knowledge of C and core CS subjects. The coding questions in my set were :
- (50 marks) Given a string S, find the lexicographical rank of the string among all of its distinct substrings. ex – Input : “eren”. The possible substrings are “e”, “en”, “er”, “ere”, “eren”, “n”, “r”, “ren”. So, the lexicographical rank of “eren” is 5. Brute-force approach passed only three test cases.
- (100 marks) You have to find the number of ways in which you can permute numbers from 1 to N in an array such that for any element A[i], A[i+1] = A[i]+1 does not satisfy. ex – For N=1, we have only 1 way. N=2, we have [2, 1], 1 way. N=3, we have [1, 3, 2], [3, 2, 1], [2, 1, 3] i.e 3 ways.
List of shortlisted students was announced after the PPT.
Round 2 (Tech-Interview-1): I was one of the first 3 to be called for Face-to-face interview. This round was taken by the director and HR was sitting beside him(She didn’t ask any questions though). This round started with the ultimate question ” Tell me about yourself “, this is the time to make yourself stand out of all other candidates. Tell about your interests in technology, problem-solving and tell them about your achievements. Since I had won Microsoft’s hackathon code.fun.do, so he asked me questions on my project. After this, he gave me two coding questions.
- Longest Palindromic Substring
- This question was not clear but I’ll try to describe it. You have some firecrackers, of the form “A1”, “BB1”, where the string before number represents the type of cracker and a distinct number after it. Now, the input is given in the form of edges : (A1, B2), (A1, B3), (B2, A2) e.t.c. So, the input will make a thread of crackers attached to each other, as shownNow, you are given a query, the type, and the number of cracker ex- “B3”, you have to burn this and all the crackers that are down to this particular cracker and is of the same type. In this case, burning B3 will burn B1, but not A3. When A1 is burned then A2 and A3 will burn. You have to give the count of burned crackers for each query. You can’t burn already burnt cracker. I gave DFS based solution, where each burned cracker will be marked as visited, and remaining will be considered. He was satisfied and modified this question many times. At last, he asked me about its representation and time complexity of my solution. I wasn’t able to completely code my solution but luckily selected for next round, as he was only interested in the approach.
Round 3 (Tech-Interview-2): This round was taken by a single interviewer. He was a smart and calm person. He didn’t ask anything from my resume. He gave me two coding questions.
- Minimum time required to rot all oranges
- Connect nodes at the same level of a binary tree. (Given extra next pointer)
This round was comparatively easy and I gave BFS solution for the first one and level order transversal solution for the second one. He told me to write the code. I did a dry run for some inputs and he was satisfied. Next, he asked to design a data structure for a question bank. Each question has an ID and a text, both strings. The data structure should support insertion, deletion, search and getRandomQuestion() (Every question should have equal probability) with O(1) time complexity. I used hash maps, the challenging part was implementing getRandomQuestion() with delete.
Round 3 (HR): Those who performed well in the previous two rounds were directly called for HR round ( Some people had one more round ). This round was just a formality. HR was really nice, she asked me about my interests apart from those mentioned in my resume, family background, Why MakeMyTrip? Then she briefed me about compensation and work culture. She then asked me if I am interested in doing 6 months internship. I said ‘Yes’.
Overall, the interview experience was really good. Interviewers were really nice and helpful. Some tips :
- Always smile and shake hands when meeting the interviewers for the first time.
- Think loudly. Tell your approach to them. Sometimes, they only see your approach.
- Try to write neat code, and check for corner cases.
- Interviewers are also humans, try to be yourself and not freak out. Keep calm and hope for the best. Always ask good questions from the interviewer after the end of each round.
- Don’t lose hope ( This was my 6th interview including previous year internship interviews ).
I want to thank GeeksForGeeks for helping me prepare for my interview.