I made a general submission on Microsoft's career site.
About two months later, a Microsoft recruiter contacted me and asked some general questions about my background. She then directed me to another recruiter who asked if I would be interested in a position on the MSN team. I said I was interested, and a few days later, she set up a phone interview with the hiring manager.
The phone interview was completely technical. I had to write code in a Live Meeting session. First, I was asked to write some very basic HTML and CSS. Then, I was asked to code a problem that was recursive in nature. I struggled a little bit but was able to come up with a solution in the end.
A few days later, my recruiter told me that Microsoft wanted to fly me to Seattle for an on-site interview. A week later, I flew out for a day of interviewing. My interview consisted of three one-hour interviews and one 1.5-hour interview that included lunch.
My first interviewer had me code a pretty standard problem on the whiteboard. As I coded it, she asked me questions about what I was doing and how efficient my code was. My final code was not very efficient, but that turned out to be okay, as she was just looking to see how I think. She also asked me to describe a time where I solved a hard coding problem on my own.
My second interviewer had me design the classes that would be required for a CSS parser that would ultimately try to compress a CSS file by merging redundant selectors. Most of my time was spent designing the basic data structures and explaining how I would go about merging selectors. Again, he was just looking to see how I think.
My third interview consisted of a one-hour lunch followed by a half-hour whiteboard coding session. The lunch portion was pretty casual, where we mostly talked about what I've worked on in the past. The coding portion was pretty standard. I struggled a bit, but that turned out to be okay.
I was told ahead of time that the fourth interview was contingent on how well the first three interviews went. So, I was happy when I was told that I would have a fourth interview. The fourth and final interviewer was an older gentleman who was higher up on the ladder. The interview was very laid back. He asked me questions like why I wanted to work at Microsoft, how long I intended to stay, and if I planned to pursue higher education. It was my impression that if you make it to the fourth interview, it's already been decided that you're technically capable of working at Microsoft. Now, it was time to see if you had the right personality to work there.
Two weeks later, my recruiter called me with an offer.
Overall, a very positive experience. Every interviewer was very nice. They all tried to make me feel as comfortable as possible, giving me helpful hints when I started to struggle with a coding problem. They were definitely more interested in how you think than the final code that ends up on the whiteboard. Perfection is not required.
You have a pile of coins. One of them is counterfeit, and its weight is different from the other coins. All of the other coins weigh the same. You are given a balance. How would you find the counterfeit coin?
Now, code it up.
Describe a time where you solved a hard coding problem on your own.
Why do you want to work at Microsoft?
The following metrics were computed from 15 interview experiences for the Microsoft Software Development Engineer role in Bellevue, Washington.
Microsoft's interview process for their Software Development Engineer roles in Bellevue, Washington is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having good feelings for Microsoft's Software Development Engineer interview process in Bellevue, Washington.