I gave my resume to a recruiter at my school's career fair. Got an email back and had a 30 minute interview at my school's career center. In the interview, we mostly just talked about interests and general questions about data structures. The coding problem was to implement a linked list. I passed that interview and was flown out to Seattle for final round interviews. They pay for everything they can and then reimburse you for everything else, including food and a small stipend for site seeing, so the trip was great. The day of the interview everyone showed up at 7:30am for a quick breakfast (fruit, rolls, bagels, etc) in a common area. There were about 40 other candidates being interviewed during that time. About 60% female, 40% male. And about 60% Indian, 25% Asian, and 15% Caucasian. Then we each had four 45 minutes interviews, with 15 minute breaks between each one. Two of the interviewers are from one team in Microsoft and the other two are from another team. They make hiring decisions independent of one another so you could theoretically get offers from both teams (or none). Of the four of us interview candidates from my university, we all seemed to be interview by entirely different teams. (How they determined what teams you would be interviewing with was somewhat of a mystery to us.) Unfortunately for me, both the teams I interviewed with were in charge of back-end development. And I let both of them know that I had zero desire for that. Front-end all the way. After the interviews, we were taken over to another building on their campus for lunch. Lots of places to choose from and the campus is really nice. Overall, I think the best part was staying in the fancy hotel and going to the space needle and big Ferris wheel but I guess those parts are very aside from the actual objective of it all.