All the rounds were completely virtual and interviews were held at Microsoft Teams except for round 1 which took place at mettl.com. I was also asked to share my screen to write code for the questions in rounds 2,3 and 4.
Round 1: This round had 3 simple questions. The questions were modifications of the below problems –
- Check for URL in a String.
- Given the second and third terms of a GP, Calculate the sum of first n terms of the GP and round answer up to 3 decimal places.
- Balanced Parenthesis.
This round was very easy so most of the students were able to solve all the 3 questions completely, but they also considered time is taken to solve and CGPA for shortlisting.
Round 2: I got 2 questions
- Left rotate and Right rotate an array by given no positions.
- Group all anagrams together. I told him that the question can be solved by inserting every string in a hash map such that the key-value used for anagrams is the same. so I told him that key for any string should be the string after sorting because anagrams after sorting correspond to the same string.
The interviewer was very friendly and was constantly discussing.
Round 3: Firstly the interviewer asked me to introduce myself and asked me to describe briefly about my projects. Then he gave me a question related to OS. The statement was – “Given 2 different Processes which can’t interact with each other describe how can these 2 processes share data from one another”. I tried to explain to him using a shared memory concept, but he was not satisfied, and he asked me a different question.
Next, he asked me:
- How would you sort 1 GB integers stored in a text file when memory has the capacity to store only 200MB data.
I explained to him the external merge sort approach to solve it and also wrote code for it. Since I was not comfortable in dealing with memory, so I asked him If I can transform the problem statement to – sorting n (large no of integers) when you can load only k integers in memory (where k is much lesser than n). He also co-operated and let me transform the problem statement.
Then, he asked me to explain the Time complexity of the solution step-wise. After that, he asked me whether I had some questions for him or not. so I asked him to brief me about the type of projects that interns work on in Microsoft.
Round 4: This round began with my introduction and shortly after that the interviewer asked me a coding question. The question was:
- You have flight details of n flights and each flight detail contains source, destination, start time, and end time. He asked to find no airplane required by the airlines so that every flight can be covered.
He didn’t want me to code it but I had to explain to him the approach and which Data structure should be used. The purpose of the question was to test if I was able to visualize the solution using a graph network. I gave him a DFS based solution. Then he asked me basic questions like what is operator overloading, run-time polymorphism, and internal fragmentation.
Final Verdict: I was selected for the internship.
Tips: Just stay calm and confident. If you are unable to think of an optimized solution start with brute force and ask for hints. In most of the interviews, the interviewer is always ready to help, and he also tries to build a solution with you. Don’t Panic and believe in yourself!!
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon and Microsoft Test Serieses.