After having a technical phone interview (technical screening) with a SDET in Bing, I was notified that Microsoft would like to interview me in person in Seattle (all expenses paid, of course). The airfare, hotel, and a rental car were all arranged by Microsoft. There was a bit of confusion about the fact that I was not a local candidate -- somehow the system did not indicate that I lived outside of the Seattle area, so I had to follow up about the travel arrangements :). Otherwise, the preliminaries were straightforward.
I arrived in Seattle on February 4th, picked up the rental car and checked into the hotel. Outside of lunch, dinner, and a quick stop by the grocery store to buy some water for the stay, I did not plan anything else. I was able to get about 7.5-8 hours of sleep that night.
My interview started at 10:30am on Friday. I arrived at about 10:20am and parked across the street from Bellevue City Center (that's the 25-story Microsoft building in downtown Bellevue). I let the receptionist know that I have arrived and she informed me that the recruiter would see me shortly. The recruiter came a few minutes later and took me to a conference room. She did an excellent job of explaining the interview process to me and did all she could to make me comfortable. She asked me some questions about my current job, my responsibilities, etc. The question of salary expectations also came up. She then gave me a sheet that included the interview schedule and explained to me that if the team feels good about me as a candidate, more interviews might be added after the initial three. The first interview was with an experienced SDET, the second and third were with lead SDETs.
The first interview was interesting. After a few quick questions, I was tasked with testing a function that returned a random number. This was quite interesting: input, range, distribution testing, etc. I also mentioned other types of testing that should be done: concurrency, performance, etc. That probably took about 20-25 minutes. Afterwards, I was asked to write code to traverse a matrix in a zig-zagged manner as shown in the image below.
It took me a few minutes to figure out the algorithm by thinking out loud and asking questions of the interviewer. The algorithm turned out be very straighforward, so I started coding. Overall, this went well although there were several times I had to make changes based on the interviewer's hints and observations.