# Microsoft IDC Interview Experience (On Campus Internship)

• Difficulty Level : Hard
• Last Updated : 14 Dec, 2018

Round 1(Online Test): There were three questions on cocubes:

1. First(2 marks): https://www.geeksforgeeks.org/calculate-the-total-fine-to-be-collected/
2. Second(3 marks): Find the smallest number which when appended to given number will make the resultant number a palindrome.
3. Third(5 marks): https://www.geeksforgeeks.org/remove-bst-keys-outside-the-given-range/
4. 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.

1. 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 .
2. Total 23 students made it to the next round out of 98.

Round 3(Technical Interview):

2. 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.
3. 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.