I first applied through a college job fair, then was interviewed on campus a couple weeks later. I was asked two questions:
Then I was interviewed in Redmond about a month later. I was interviewed by four different people, and each one asked me a technical question that wasn't that bad. Read the next section for the questions.
Four technical questions:
Given an M x M array, make it rotate in a certain way. The rotation was a little complicated, and I couldn't answer this question very well. The interviewer did not do a very good job explaining it.
Write a new version of strcpy where it will return the null terminator, no matter what. I did a better job on this one. The interviewer said he was evaluating for correctness, not only for the idea.
Given a string with many words, make a function that would reverse all the letters in every word. For this one, I first wrote a crappy algorithm that takes O(n^2), but then I did a better one that worked in linear time.
This interviewer was more complicated. He first asked me different questions about object-oriented programming. I did not know what a virtual class was. He then asked me to do some string manipulation and kept making the problem harder until we ran out of time. The problem he started off with was to write an algorithm that counts how many repeated letters are in a string and kept going from there.
--
There were very few behavioral questions about my favorite projects.
The following metrics were computed from 214 interview experiences for the Microsoft Software Development Engineer role in Redmond, Washington.
Microsoft's interview process for their Software Development Engineer roles in Redmond, Washington is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Microsoft's Software Development Engineer interview process in Redmond, Washington.