Software Engineer applicants have rated the interview process at Microsoft with 4 out of 5 (where 5 is the highest level of difficulty) and assessed their interview experience as 50% positive. To compare, the company-average is 68.2% positive. This is according to Glassdoor user ratings.
Here are the most commonly searched roles for interview reports -
I had only one interview, however it was an on-site interview. I was asked to implement a couple of existing methods from standard libraries. I had the choice of using either C#, Java, C, or C++ (and possibly Python). The methods were from the primitive wrappers classes, with the exception of String class.
Interview questions [1]
Question 1
The unexpected questions were concerning dealing with lower-level stuff, such as ASCII table manipulation. I was not supposed to know it by heart, but I was supposed to know some of its important properties.
I applied through a staffing agency. The process took 3 days. I interviewed at Microsoft (Seattle, WA) in Apr 2014
Interview
They pay for your travel/stay at Seattle WA, 5 rounds of interviews, very tough and long. The Microsoft staffer talked to me first on the phone, about my projects, goals, Microsoft, the Live Search team, and how interested I was. He then setup a phone screen with the development lead of the team I was interviewing for, which was to take place about a week later. This phone call was postponed because of a meeting at Microsoft, and I actually did it a few days later than planned.
Interview questions [1]
Question 1
Given a set of 21 tasks = {A, B,....Z} except I, O, U, X and Q. Each task requires 4 hours of processing. Except for tasks E, Y, P, R, W that require 8 hours of processing.
You have 3 machines to process these tasks = T1, T2, T3. T1 and T2 are available everyday for 8 hours. T3 is available only on Mon, Wed and Fri for 8 hours.
You are given 3 lists that indicate the dependency list among the tasks.
L1 = A->R->K->M (eg A can be completed if R is completed, R can be completed only if K is completed etc.)
L2 = N->G->V->E->Z->H
L3 = C->F->Y->D->J->P->T->S->W->B->C (cycle)