I applied online. The process took 4 weeks. I interviewed at Microsoft (Seattle, WA) in Dec 2010
Interview
I applied online and was contacted by a recruiter. The recruiter was very helpful throughout the process even though I did not get the job.
I had 2 phone screenings: one by the recruiter which was general questions and some technical trivia. The other was a more technical interview consisting of some coding and testing problems.
Then I was flown over to Redmond and had 4 interviews back to back on campus. They weere all very technical and testing oriented.
Interview questions [2]
Question 1
Phone interview 1: How would you test an instant messenger system? How would you sort a large array?
The process took 1 day. I interviewed at Microsoft (Redmond, WA) in Feb 2009
Interview
I applied on microsoft.com/careers for multiple positions. About a month later I was emailed a document which included some questions asking me to rate myself in various programming languages as well as a coding question. The question was to implement a function that returned true if a linked list had a cycle in it.
After filling out and returning the document I was setup for a phone interview with the team. During the phone interview I was asked some soft questions about my interests in technology, background, etc. I was also asked how I would implement a function to convert a character array into an integer. I was told I would be hearing from them again.
The next day the recruiter emailed me to setup an in person interview in Redmond, Washington. On the day of the interview I went to the wrong building and ended up barely making my interview time. Tip - arrive early!
*Interviewer 1 - SDET: Soft questions about background, then jumped into a coding question. How would I reverse words in a paragraph of text. I coded it out and he pointed out a bug, which I fixed.
*Interviewer 2 - Lead SDE: Jumped right into a coding question. There's a tree where in addition to the left/right pointers, there's another pointer set to NULL. I was to write a function to traverse the tree, initializing that pointer to the nodes sibling. So basically just connecting up the levels of the tree.
*Interviewer 3 - Lead SDET: Print tree level by level. I coded up a solution in 10 minutes and ran some test cases through it. He then sold me on his team.
*Interviewer 4 - Lead SDET: No coding question. The entire interview was me writing a test plan to test a robot.
*Interviewer 5 - Development Manager: Some chit chat about resume, then a coding question. Print the count of letters in an array. So if the array was "ababac", I would print a - 3, b - 2, c - 1.
After the interview the manager said I would hear from them soon. Next day I was given an offer, contingent on a background check.
I applied through an employee referral. The process took 3 days. I interviewed at Microsoft (Redmond, WA) in Jan 2009
Interview
I had two simultaneous loops for two different positions at Microsoft, got selected in both and I accepted the one I thought was best suited for me.
The interview process started with emailed questionnaire that included personal + problem solving type questions. Then the loops themselves contained 5 interviews each. The interviewers were from the team that needed the candidate.
I was asked to comment on lot of actual scenario/daily problems and their solution. The 1:1 interview had questions mainly on algorithms and testing scenarios.
Overall it was a typical Microsoft interview. The key to crack it is being confident answering and being strong in the fundamentals (datastructures, algorithms)
Interview questions [2]
Question 1
Write a function that will take in a phone number and output all possible alphabetical combinations (found in a normal phone keypad) for it.