Microsoft Interview Experience 2019 | Off-Campus Internship For IDC

I applied for Microsoft Off Campus Internship through mettl.com. Minimum CGPA was 7 and no backlogs were allowed.

Coding Round( ONLINE )

It was an online coding test which had three questions and 90 mins were allotted for it. Different people got different sets of questions.



1) https://www.geeksforgeeks.org/find-total-number-of-distinct-years-from-a-string/

2) https://www.geeksforgeeks.org/rearrange-odd-and-even-values-in-alternate-fashion-in-ascending-order/

3) https://stackoverflow.com/questions/52775518/number-of-buses-originating-from-a-bus-stop-a-computer-program

I solved all the 3 problems. The result was announced after 20 days and I was qualified. After some days I got my interview details.

Round 0(FLY ROUND): 

This was a pen-paper based round and in this round almost 160 students participated from different institutes of India. 2 questions were asked and they gave us 60 minutes to solve. The problems were :-

1)https://www.geeksforgeeks.org/a-linked-list-with-next-and-arbit-pointer/

2)https://www.geeksforgeeks.org/reverse-alternate-levels-binary-tree/

Only 20 students were selected for the next round. I was one among them.

Note:- If you have enough time left then write comments and explain your approach . Also variable names should be self explanatory for better understanding.


Round 1(Technical): 

It was a f2f interview and the interviewer was very nice and friendly.  First he brought my fly round paper and asked how can I improve my solutions. Then he asked me these problems:-

https://www.geeksforgeeks.org/expression-evaluation/

https://www.geeksforgeeks.org/program-print-substrings-given-string/

As a modification to the second problem he asked me how will I find the longest repeated sub-string within the same string in which the characters can overlap.

After that he asked me:- Given two tables A and B ( in SQL ) how can I print only those rows which are present in A and not in B without using multiple select statement ( Note that due to this restriction we cannot use the MINUS operator ). I gave him a solution which uses JOIN function in SQL but it was incomplete. After his help I was able to solve it completely. Then he asked me a question in Computer Networks and i told him that I am not good in this topic and he moved on . He then asked me whether I have any questions for him. I asked 2-3 questions and then the interview came to an end.

I was waiting outside when I was informed about the whereabouts of my 2nd interview.

Round 2(Technical):

The interviewer first asked me about my college which was followed by 1-2 minute of general talks. After that he gave me a question and asked me to write the code.The question was:-

Given n locations/directories of a file print the directory in the order such that the parent directory comes before the child directory. For example a directory is “a/” and the second directory is “a/b/c/” so “a/” is the parent directory of “a/b/c” because to reach “a/b/c” we first need to reach “a/”.


Example:-

Input :- 1) a/

2) a/b/c

3) d/

4) d/e

Output :-

The input is already given in the sorted format and can be printed as it is. One more solution can be :-

1) a/

2) d/

3) a/b/c

4)d/e

I told him 3-4 approaches each time with a complexity less than the previous one. But he wanted a better solution. I finally arrived at a solution that we can just sort the strings according to their lengths and he was satisfied. He then told me to write radix sort for the same.

Although I was not confident in implementing radix sort but I tried and after taking some time I finally wrote the code. I explained my approach to him and then he told me to wait outside.

I was very nervous after this interview as I was not sure about my implementation of radix sort. But after some time I was called for the next round.

Round 3(HR) :

First he asked me to introduce myself and how were my previous interviews.The interviewer was polite. He asked me what i generally do to pass my time. Then he asked me my favorite topic in programming. I told him data structure. He asked what in data structure. I told him trees and graphs. He then asked me how will I explain to someone what is a tree who knows nothing about coding. Following that he asked me some applications of graphs. I told him maps, but he wanted another solution. He asked me how do you think Facebook works. I told him the connections between the friends is a generalization of graph data structure. Then more questions about implementation of mutual friends in Facebook followed. The interview came to an end and he asked me whether i have any questions for him. I asked him a  few questions.

After some time the HR came and asked for my resume and told me that they will get in touch with me within a few days to tell me whether I was selected or not.

After almost 30 days I got a mail from them stating that I was selected. Hurrah!!!!

Write your Interview Experience or mail it to contribute@geeksforgeeks.org



My Personal Notes arrow_drop_up

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.