I submitted a resume while at the Canadian Undergraduate Technology Conference. A recruiter emailed me shortly after, followed by a brief, fairly straightforward phone interview.
This was followed by an invitation to fly out to Redmond for a day of in-person interviews.
(Note to other applicants: that particular email was misclassified as spam by my email provider! The words “Microsoft,” “job,” and all of the all-caps text related to flight details was enough to set off the spam filter.)
The day of interviews was long, but surprisingly fun. I was interviewed by members from a few different teams, so the day didn’t drag – there was always something new to talk about.
Given two nodes in a directed graph represented by singly linked nodes, provide an algorithm for finding the nearest common ancestor. In fact, provide as many different algorithms as you can, giving different trade-offs between time and space requirements (in Big-O notation).
Write the fastest possible code for some functions from the C string library (for example, strcpy).
The following metrics were computed from 25 interview experiences for the Microsoft Software Developer role in Canada.
Microsoft's interview process for their Software Developer roles in Canada is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Microsoft's Software Developer interview process in Canada.