I applied in-person. The process took 2 days. I interviewed at Microsoft (Redmond, WA) in Mar 2012
Interview
Contacted dev manager to ask about position, had a phone interviw scheduled after that. Then applied to position on internal site and got scheduled interviews with 5 more people (tasks and technical questions).
I applied through an employee referral. The process took 4 weeks. I interviewed at Microsoft in May 2010
Interview
The process started of with 3 phone interviews with the hiring manager, a senior program manager and a senior engineer. The interviews were heavily geared towards technical questions around Operating Systems (virtual memory, busy waiting, context switching etc.), Algorithms, Data Structures and SQL Server internals.
After having done well in these interviews I was flown over to Seattle for on-site interviews. I had 5 1-on-1 interviews with engineers on the team. Each interview typically required me to whiteboard a programming problem and/or a mathematical puzzle. There was also some questions around SDLC, unit testing etc.
Interview questions [1]
Question 1
Write code to print all permutations of an array of unique integers.
I applied through other source. The process took 1 day. I interviewed at Microsoft (Redmond, WA) in Dec 2010
Interview
Three Interviews with one general interview. All three interviews even with one at GM level were technical, algorithms, writing code on white board. Included optimization questions, testing possibilities. etc