I submitted an application through the MS Career site, a short time later (2 weeks) I got an email from a Microsoft recruiter asking for a technical phone screen.
The phone screen was handled by an hr person, they asked pretty basic questions. More along the lines of what is the difference between a queue and a stack than a linked list and an array. Nothing tricky, but if you are working in a specific area, you may want to do a refresher. He also asked me what I wanted to do at Microsoft etc.
Ten days later, I got the email so that we could set up an onsite interview. They also asked me what They flew me out to Redmond, where I finally learned which group I was going to interview with. I then had four one on one interviews, culminating in an interview with a product manager. Three days later I got an email saying they were interested in having me, but eventually I had to decline.
All the interviewers I spoke to seemed nice and sociable, they were all willing to talk about their work and ask about my research. They all had offices instead of cubicles and appeared to have been there a while (30+).
Preparation is important, an interview should not be a technical learning experience.
1. Interview Questions
2. Career Cup
3. Glassdoor.com
4. Programming Pearls
Don't be cheap, spend some money.
Be nice to everyone, puts you in a good mood for a long day.
Speak up, especially when you are trying to answer questions.