OA followed by 4 onsite interviews.
OA: 3 questions were given to complete in 60 minutes. I cannot share the exact questions due to an NDA, but you might find similar questions by searching the LeetCode Discuss section for Microsoft OA. All questions were relatively easy to complete within the time limit. Tips: Pay attention to the problem statement, as it often indicates whether correctness or optimization is prioritized. Solve accordingly and try to include comments in your code.
Onsite: After two days, I received confirmation for the onsite interviews, which were scheduled during a hiring event. Note: The onsite date is fixed for hiring events and is usually mentioned in the job posting. I had over a month to prepare for the onsite. The onsite consisted of 4 rounds, each lasting 45 minutes.
There were 4 rounds in the onsite. Again, I cannot provide the exact questions due to an NDA.
1st Round: The first 15 minutes were dedicated to behavioral questions and discussions about current projects. I was then asked a question that combined system design and OOP design principles, with follow-up questions from the interviewer. In the final 10 minutes, I was asked to write a small API for data parsing. I wrote the code and identified a bug during a dry run. The interview lasted over 50 minutes.
2nd Round: The first 10-12 minutes focused on behavioral questions. I was then presented with a popular design question that led to numerous follow-up questions. These follow-ups actually helped me refine my design. There were no coding questions in this round.
3rd Round: The first 10-12 minutes were for behavioral questions. I was then asked an array question, which I solved using a modified binary search. It was a LeetCode medium-level question, though I had not encountered it on LeetCode before.
4th Round: The first 10 minutes were behavioral. I was then asked a Tree question involving an N-ary tree. I used BFS to solve the problem. This was also a LeetCode medium-level question.
Cannot disclose due to NDA, but all were from LeetCode or similar to LeetCode.
The following metrics were computed from 78 interview experiences for the Microsoft Software Engineer role in Canada.
Microsoft's interview process for their Software Engineer roles in Canada is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Microsoft's Software Engineer interview process in Canada.