# Microsoft Interview experience | Set 101 (On Campus for IDC)

Recently , Microsoft visited our campus for recruiting FTE for MS-IDC division.
Around 150 students appeared for the test.

Round 1(75 minutes):

Online coding round hosted on HackerRank . Three coding questions were asked.

1. Given a Linked List of integers, write a function to modify the linked list in-place such that all odd numbers appear before all the even numbers in the modified linked list. The relative order of even and odd numbers should remain the same.
Solution: Segregate Even Odd nodes in a Linked List
2. Given a floating point number, calculate its square root without using in-built sqrt() function.
3. Given a pattern string and a test string, implement RegEx substring matching. If the pattern is preceded by a ^, it will match with the starting position. Similarly, if it is preceded by a \$, it will match the ending position. If no such markers are present, it will check whether pattern is a substring of test.
Ex : ^coal
coaltar
Result : True
tar\$
coaltar
Result : True
abcd
efgh
Result : False
4. 25 students were selected for the next round.

Round 2(paper coding round):

1. Print boundary traversal of Binary tree in clockwise direction.(Note: check for leaf nodes in left and right traversal for a given tree).
2. Rotate a square image 90 degree clockwise. Optimize as much as u can.
8 students were selected for further rounds.

Round 3 – PI1

1. Discussed about the 1st question asked in paper coding round, i.e., Boundary traversal of Binary tree.
2. How to merge two BSTs . Asked me all the approaches that I was able to implement . Then asked me to do in O(logn), where n is total no. of nodes .
3. Asked me to write code to find a no. occurring greater than n/2 times in an array . Then asked me to prove the written algorithm , basically , he was asking how I was able to write that code and why is it working .
7 students were selected for further rounds.

Round 4-PI2

1. Asked me to implement seat booking process in BOOKMYSHOW.com . How to handle the cases where two persons are trying to access the same seat at almost same time . He told me to write class based solution asking about different functions that should be used to solve all the cases for booking procedure .
2. What is singleton class?
3. How to find the point of intersection of two line segments . Two end points of line segments were given.
4. How to find no. of 2’s between nos. 1 to n . He gave me few hints and finally , he was satisfied with my approach .
5. he asked me to implement fibonacci series considering every possible solution .
And few more questions were asked , but I don’t remember them.
6. 6 students were selected for further rounds

.

Round 5:PI3

1. Write function for inorder traversal of Binary tree without recursion. That was easy !!
2. Asked me a puzzle question. An n*n board is given and one of the given cells is black . Also , L shaped pieces are given (equivalent to 3 cells of given matrix) , considering all possible rotations. I had to fill the entire grid using those pieces . Pieces can’t be placed on the black cell and no two pieces should overlap , not even partially . I gave an answer where I tried to increase the size of unaccesible cells( black cells and already placed pieces on board) to the size of the given board , but he asked me few cases where my answer failed. Then I said him we can do the exhaustive search of combinations using backtracking but it will take too much time . Then he gave me clue that instead of growing the size of unaccesible cells, try to decrease it. Finally , I concluded that it divide-n-conquer based solution considering base case as 2*2 board with 1 black cell.
3. 4 students were selected for further rounds.

Round 6 : PI4

1. he told me to implement LRU Cache . I gave him all the solutions that can be possible . He was very helpful . He found flaws and told me to optimize it. I gave him 3 solutions and the final one is the one which you can find anywhere on the internet. But before that , he asked me to swap two nodes of a DLL using hashmap . I didn’t know what Lru Cache is initially . haha

Round 7 : PI5 and final round

1. What’s your passion ? What you want to do in your life ? Hr-type question .
2. He designed a new language with the words of English and stored them in an array of strings . Then he gave me two strings and told me to design strcmp function . I told him the best method in one go , but he tried to confuse me and he was successful . He gave me 5 mins to come up with another solution and tried new one . Lastly , I implemented the first approach I had in mind and he was satisfied with it.
3. How to serialize and deserialize an n-ary tree . I told him the function for serializing and deserializing a binary tree but couldn’t come up with solution for the given problem.
4. P.S : I was not comfortable with OS and DBMS , so I told them clearly but they tried to ask indirectly all the basic questions of OS and DBMS , and told me to implement them using C/C++.

Questions asked to my friends :

1. Developing an algorithm for crossing bridges problem , where no. of elements is n.
2. Intersection of two linked lists.
3. Find if loop is present in linked list and also , find the start node of the loop in it .
4. Class design for banking system.
5. Reverse linked list using both recursion and iteration .

And many more.

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

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

My Personal Notes arrow_drop_up
Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.