Interview Process Feedback: My interviews were scheduled to begin in February , but it took two months to schedule them, and they ultimately occurred in April. Delays in the Microsoft interview process are common. I had a similar experience two years ago. At that time, I cleared the Microsoft interview and received an offer but did not join because I received a better offer from another company.
Round 1: Question: Given a 2D matrix containing digits, if a 1 occurs and its neighbor (up, down, left, right) is a 2, change the neighbor to 1 and repeat the process. Return the updated matrix. Answer: This is a simple Breadth-First Search (BFS) question. I implemented it easily. The interviewer then asked why I didn't use Depth-First Search (DFS) and discussed its pros and cons. Since I had time left, he asked a question similar to Integer Break. I was asked to discuss the solution, not implement it. I discussed the fundamentals of Euler's number, and it was easy for me. I implemented it in four lines of code. Verdict: Strong hire
Round 2: The interviewer seemed unusual. He claimed that O(2n) is not equal to O(n) and did not understand asymptotic notation. Question: Given a 2D array containing only 0s and 1s, sort it in a single pass. All rows have the same size. Example: {{1,0,1}, {0,0,0}, {1,1,0}} becomes {{0,0,0}, {0,0,1}, {1,1,1}} I was asked to implement this in a single pass; otherwise, I could have counted the sum of all 1s and populated the array in another pass. The interviewer said I only needed to provide the approach and pseudocode, not run the code. My suggestion: Always run your code. Someone will run it, and that person might be selected. Answer: I came up with a two-pointer approach, one starting from the top left and the other from the bottom right. I compared and swapped. The interviewer seemed impressed and asked me to implement it. I wrote the code but made a silly mistake. My code failed, but the interviewer said it was alright and didn't give me much time to correct it. I had 20 minutes left but the interviewer ended the interview. I thought the interviewer was happy, but I was wrong. Verdict: Reject
Round 3: This round was difficult. I received a challenging string question. I can solve string questions, but not always on time. Question: Given a string containing only letters (a-z), find the sum of all numbers present as words in linear time, O(n), where n is the string length. Example: rwffonewofnwthreeonefourfrnwnminusonesix = 1 + 314 - 16 = 299 Note the numbers in the string: rwffonewofnwthreeonefourfrnwnminusonesix Answer: I implemented a solution for single-digit numbers but not for numbers greater than 9, like 314. I struggled. Verdict: Reject
Suggestions: Always be proactive and try to exceed expectations.