The process started with submitting resume at career fair, then had a on-campus interview. Basic questions were asked about projects etc, followed by writing code for a simple problem. After 2 weeks got a call for on-site interview. Was told there would be 3-5 interview in Redmond office with Live Search Data Mining group. The recruiter had no idea how different the interview process would be compared to SDE position. As such i brushed up on my research more than the algo+data structure parts.
On the day of the interview, I arrived early in the morning and went over simple hr type questions ie. why msft, why would i choose them over others etc. I was given the name of the my first interview and told that each interview would take me to the next one (depending on how well i did). Also the interviewers would discuss the area they covered in the interview and how i performed with the next interviewer (and have me sit in the lobby when the discussed this).
The first interviewer was the dev lead and went over my resume, ask some questions about my projects then saw that i had TA for cryptography a while back at school, so asked me to design a card game online where the player cannot cheat. this was followed by a prob. question and to write code for it. After that he took me to the next interview. This person too was a senior member of the team. He asked another algo/coding question, which i barely managed to get done in the time we had. Next interview was lunch interview, this is 1.5 hrs compared to previous 1hr ones. He went in lot more detail about my research work and what they do. This was followed by a couple of simple coding question when we got back to his office, but i performed quite poorly there. After that he took me to the next interview, this started with a simple coding question which he made progressively harder till i was stuck. After i was done he said this was my last interview of the day and he accompanied my outside to the recruiting shuttle. He basically said even though this position involved research, coding part is more important, and i didn't perform as well. After i went back to the recruiting building, the recruiter wasn't there but had left a packet of info about Seattle (based on a survey i had to fill in before the interviews). After 2 days i got back a mail from the recruiter that there would be no offer.
All the coding questions i was asked were standard and available on various ms/google questions site (which i didn't prepare as well on). Also just don't solve the questions there, think about all possible follow up questions, can you improve it space/time, would caching/ locality help, special cases (uniform distribution of numbers etc).