# Microsoft IDC Interview Experiences (On Campus Internship)

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

First2 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) **Since 98 was too large a number to accomodate in the room. 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.What they focussed more on was writing clean code and considering all the **corner cases** . 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. Then he said he would ask me questions on trees as I had said DSA as one of the courses. 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 if it was a Binary Tree instead. He helped me throughout the conversation and was satisfied by my answer although wanted a written code which i struggled a lot with.

Then he gave me an array and a number k and asked me to find all combinations of numbers in array to get the sum, k. I gave a backtracking approach for this and again he asked me to write proper code for this too. 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. He was repeatedly focussed on whether i considered the corner cases or not.

**Round 4(Technical Interview):** He said he had not prepared anything as such . 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 so much of system design. Then he moved on to DSA and asked me to copy 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 some time to write the code properly.

Finally, 12 students were selected