I interviewed with Microsoft for an internship through my university's co-op system. The interview itself was a 45 min technical interview plus a 15 min "feel-good" session with an HR person. The technical interview was fairly standard; they asked me to solve an algorithm question. With the HR person I discussed my preferences for location and type of development work I preferred.
I later received an offer via e-mail, and was put into contact with a team in Redmond. The recruiter was very helpful even during weekends and was accommodating when I asked to talk to the team again. Overall, I was extremely impressed with the organization of their interview process. I turned down their offer, however, because I got a very interesting internship offer from a start-up.