After applying through my college recruiter, I got a first-round phone interview. It lasted about 45 minutes and first involved a few behavioral questions (e.g., Why do you want to work at Microsoft? What kind of coding are you doing outside of school?). After that, I was bombarded by a plethora of technical questions. Here are a few of them:
What are the differences between Java and C? Why would someone use Java over C/C++ and vice-versa? What's inheritance? What's a virtual function? What's the JVM? What's a disadvantage of the JVM? What's the difference between an array and a linked list?
After this, I was asked one coding question: Reverse a singly linked list with and without using an auxiliary data structure.
Reverse a singly linked list with and without using an auxiliary data structure.
The following metrics were computed from 6 interview experiences for the Microsoft Software Development Engineer role in Montreal, Quebec.
Microsoft's interview process for their Software Development Engineer roles in Montreal, Quebec is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Microsoft's Software Development Engineer interview process in Montreal, Quebec.