Microsoft IDC Interview Experience (On Campus Internship)
Round 1(Online Test): There were three questions on cocubes:
- First(2 marks): https://www.geeksforgeeks.org/calculate-the-total-fine-to-be-collected/
- Second(3 marks): Find the smallest number which when appended to given number will make the resultant number a palindrome.
- Third(5 marks): https://www.geeksforgeeks.org/remove-bst-keys-outside-the-given-range/
98 people were selected for the next round. All those who had done all 3 questions or (2 questions and a good cg) made it to the next round
Round 2(Group Fly):
- They conducted this round in 3 sets . I was in the first set which included 42 students. A common question was written on the board and around 6-7 students were alloted a common mentor.
- The question was ” given a circular linked list and an integer k, you need to traverse the list till index k (first index is 1) and delete the node at the kth index. Do this repeatedly until only a single node is left and return this node.” We were asked to write the solution on paper in 45 minutes.What they focussed on was writing clean code and considering all the corner cases .
Solution : (GeeksforGeeks Link)
Total 23 students made it to the next round out of 98.
Round 3(Technical Interview):
- He asked about my branch and courses I had done.
- He gave me a Binary Search Tree and a number k and asked me to find the two nodes to get the sum k. He wanted proper written code for this considering all the test cases.Then he asked me to write the code for a Binary Tree instead. He helped me throughout the conversation and was satisfied by my answer.
- Then he gave me an array and a number k and asked me to find all combinations of numbers in array to get the required sum k. I gave a backtracking approach for this and again he asked me to write proper code for this . After that he asked me to get all combinations of two numbers from the array to get the required sum. I gave a hashing approach and wrote the code for this. Then he asked me to do this without hashing . I gave a two pointers approach for this.
Solution: GeeksforGeeks Link
Round 4(Technical Interview):
- He saw my resume and asked me about my projects, related to big data. I explained him everything I had done . The he asked me to design a big data system to see all the log files generated and figure out the error immediately by seeing the log file generation system. I struggled a lot. I told him my main work was Setting up big data system and i did not know much of system design.
- Then he moved on to DSA and asked me to move array data from one location to another given only the source and destination pointer. Then he gave me a question ” given stock prices, find the maximum profit that can be made by repeated buying and selling of stocks” . I explained him and he wanted proper code for the same. He gave me enough time to write the code properly. He advised me at the end to focus on all the test cases before i write my code.
Solution : GeeksforGeeks Link
Finally, 12 students were selected.