Interviewed on campus: I was asked to code a technical question and then to write test cases for it. I first coded the answer on paper then explained. My code was surprisingly cleaner than I expected, and that too on paper. Then, he went about describing his role and what his team does. Following this I was asked few HR questions. These questions are basically to gauge your technical aptitude.
Was contacted through email about selection for the next round. A few days later, an interview date was fixed and then, the logistics were worked out. It was an all expenses paid trip.
They won't give you a chance to complain. Food, hotel, transportation... all was just awesome. The day following my arrival I had my interviews.
They have limo services that take you to the Microsoft campus at Redmond. I had 4 back to back rounds.