Related Articles
Microsoft Interview Experience | 4+ Years Experienced
• Difficulty Level : Medium
• Last Updated : 11 May, 2021

Round 1:-

• Started with an introduction about projects and Education.
• Then he asks me a question about my project which I had done previously(questions related to the synchronization of the transaction, if multiple transactions on multiple servers happen same time how do you handle it)
• Then he asks me a question which is (you have given the array of non-negative Integer, the problem to solve is you have to reverse the array but all zeros which exist in the array should be move to the right side)

For Example

```Array = {0, 4, 2, 3, 0, 9, 10, 0, 34,
8, 0, 23, 56, 12}
Resulted array = {12, 56, 23, 8, 34, 10, 9,
3, 2, 4, 0, 0, 0, 0} ```

You have to solve this problem in O(n) time complexity and you should use constant space O(1) he ask me to write the code for the same to pass all edge case and write the all edge case possible for this problem.

Round 2:-

• He introduce himself and about the project he working on then he started asking about my experience and what i have done
• Asking questions on Java as Java is my primary Language and working of HashMap, how does it works.
• Then he ask me to design the data structure such we can perform operation
• insertFirst(value):- value inserted head of the list Time Complexity O(1)
• insertLast(value):- value inserted last of the list Time Complexity O(1)
• deleteValue(val):- delete the value from the list if the list contains multiple values then it should delete only first occurrence expected time complexity O(1).
• isExist(value):- return the true if value exist in the data structure otherwise false, expected time complexity O(1)
• Write the code for the above problem using the best data structure and cover all test case, almost 1 hrs. Complete to solve this problem

Round 3:-

• I introduce my self and we both are from the same college (NITK)
• Then he move to the programing question which is you have given two singly linked list and you have to add these two linked list the constraints you can’t modify the input linked list list1 =>  9->5->4 list2 => 8->0->7 resulted list => 1->7->6->1 **you can’t modify the input linked list**
• then he ask me to develop the programing language which has a maximum throughput, we have discussion on this problem to what data structure we can use.

Round 4:-

• This is hiring manager round but not looks like hiring manager round ðŸ™‚
• He started with the problem and the problem was you have given the matrix of n*n which contains the small character only and you have given the dictionary as well which contain the English valid word, you have to find the how many word can be formed using this matrix, the word must contain in dictionary, you can move in matrix to left, right, top, bottom and diagonal
• t o p
• a g i
• b r g
• the possible Words are:- 1. top 2. tab 3. bat 4. pig 5. bag 6. gip
• discussion about what data structure you have to use for Dictionary and i have solve this problem by using of DFS. and for dictionary i have used the Trie data structure.

After 2 days of all round complete, I got a call from HR and I got Selected in Microsoft, Dreams Come True.

Be focus on codding and all edge case passes.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon and Microsoft Test Serieses.

My Personal Notes arrow_drop_up