I applied online. The process took 3 weeks. I interviewed at Microsoft (Cambridge, MA) in Feb 2013
Interview
There were a total of 5 interviews. The first one was over the phone and was relatively simple. An asian girl interviewed me for about a half hour and asked me some basic questions like how I would go about testing a keyboard and given 8 marbles that weigh the same and one that weighs more, find the one that weighs more in 2 weighs with a balance scale.
After that I was invited to 4 onsite interviews at their Cambridge office. I was flown out via plane and given a hotel, all expenses covered (food, taxi, etc.). The people were very nice and accommodating, and we talked about my resume, how I would solve and test certain problems, and I ate lunch with one of my interviewers and we talked about how we got into Computer Science and our experiences so far learned and adaptive to being a CS major.
Overall I had an extremely fun time interviewing at Microsoft.
Interview questions [1]
Question 1
The most difficult / unexpected question I was asked was how to optimize an algorithm for removing duplicates from a sorted list beyond O(n). It turns out that the solution was still in O(n), but involved parallelism to improve run-time.
I applied through an employee referral. The process took 3 months. I interviewed at Microsoft (Redmond, WA) in Jun 2012
Interview
After on campus interview, I was invited to have on-cite interview.
The on-cite interview is included with 4 sessions, each 45 min. Every session was followed by 15min break.
Interview questions [1]
Question 1
They always ask you about possible test scenario of arbitrary algorithms of systems or even anything. You might want to practice some about this subject. Also, the reading suggestions of theirs are all good recommendations.