Microsoft conducted an all India drive for hiring SDE Interns(Minimum CGPA was 7 and no backlogs were allowed). They conducted a coding round in which people who solved 3 got a call or people who solved 2 and had a higher CGPA(+9) also received a call. Girls solving one problems were called for on site interview.
Coding round questions:
- Distribute N candies among K people
- Minimum steps required to convert X to Y where a binary matrix represents the possible conversions
- Minimum number of sets with numbers less than Y
It was a groupfly round where there were around 150 candidates. They gave us an hour and two problems to solve. The two problems are as follows:
- Find the Lowest Common Ancestor in a Binary Tree
- Given a matrix, find and print the maximum path sum from 0, 0 to n-1, m-1.
People solving both the problems and girls solving the first one completely and printing the maximum path sum for the second were taken to the next round. There would be 25 people who made it.
It was a personal interview which was taken by two interviewers. They were really nice and gave a lot of time to discuss on. We had a long discussion on the ML projects that I did. They asked me the algorithms used and the libraries and the functions in deep. They also asked me how could I do the same without functions and other stuffs. It went for around 30 minutes. The next 15 minutes had a problem discussion in which I was asked a problem find the K-th largest element in the array. I gave a solution using set since they initially said that it contained unique elements, as soon as they said it has duplicate elements, I switched to priority queue. They later asked me to implement set or priority queue, which I was unable to do. After lunch, they informed that I made it to the third round. Around 10 made it to next round.
The interviewer was of young age and seemed to be nice from the beginning. He asked me initially on my low semester marks, and they gave me an option to choose from DSA or Software Engineering or Architecture, on which I choose DSA. He gave me 3 questions during this course which I solved successfully.
- Find the minimum element in rotated sorted array. I solved and coded the same using Binary search, he just asked me to add a case for n==0 which I missed.
- Sort an array of 0’s and 1’s without sorting and minimum number of lines of code.
- Detect a loop in linked list. He just asked the approach and asked me to not write the code.
After that he asked me whether I would be able to answer real life problems using DSA. Then he asked me to implement a dictionary, on which I gave a trie solution, he was impressed with the answer, and asked me about search engine optimizations and DSA application on the search engines while predicting texts in search box. We has a light chat after this for 2 to 3 minutes, in which he seemed to be impressed.
After an hour, they took our CV and selected 4 out of the 10 who were there. I went personally to the recruiter over there to know the reason for the rejection. He asked my name and after cross checking, mentioned that, since everyone was good, they were left with nothing but to choose on CGPA. I sadly had a low CGPA of 7.33 which turned out to be curse.
I will love to thanks the GFG team for their incredible website and the placement questions that they have. Without them, I would have not made it into the last round.