I arrived in Redmond on a Monday evening, interviewed on Tuesday, and then flew out Wednesday afternoon. I drove a rental car about a half hour from the airport to the hotel. The hotel was less than 2 minutes away from the Microsoft campus. All of my expenses were reimbursed. Supposedly, I was given a sight-seeing allowance, but the only time I could visit Seattle would be after my interview. At that point, I was tired after the long interview and it was rush hour, and so I opted to rest and do work in the hotel. After about 10 days, I was contacted by the HR representative who I met during the interview and was told I was not picked for a position.
The on-site interview process was strange. I arrived at a lobby designed for Microsoft candidates (there were many Microsoft gadgets available to play with, including a Microsoft Surface and an XBox with Kinect (which would be awkward to actually power on while waiting)). I took a complimentary water bottle to carry with me for the rest of the day. I didn't bring anything with me, but it might have been a good idea to bring a laptop so I could spend the waiting time before my first interviewer researching the group I was interviewing with (I was not told that group ahead of time; instead, I was told there might be many groups, and the interview time would be variable as different groups decided throughout the day to pencil me in for interview time). Everyone seemed a little surprised that the only thing I was carrying with me was a water bottle. I thought it was strange that other candidates came in jeans with a back pack... but apparently that was common.
While in the lobby, I could interact with four or five other candidates. There were two rooms with glass doors inside the lobby where HR representatives did entry and exit interviews, and sometimes those interviews could be overheard from sitting anywhere in the lobby. That also seemed a little awkward.
Before the interview, I was put in contact with multiple travel and HR representatives. There was a different person in charge of each stage of the process. I was finally told two days before I arrived who I would be meeting with, but when I arrived, I found out she was out sick. So I met with someone filling in with her. He told me that after my last interview (which he couldn't give me any information about), I would come back to the lobby and wait for him, but if I waited more than 15 or 20 minutes, I should feel free to just leave. He told me that either he or the original HR person would be in contact with me, but he wasn't sure who. Eventually, he did show up, gave me my exit interview, and contacted me 10 days later to tell me the results.
During the interview, I wasn't given an agenda. I was hurried into a shuttle to take me to the building with my first interviewer. I sat in the lobby of that building for 15--30 minutes, and then I was met by my first interviewer. He took me upstairs to a conference room that he had a hard time finding because he hadn't ever been in it before. Once we found it, I was asked high-level questions about the difference between C, C++, and Java. I was then asked about the existence of certain data structures (singly and doubly linked lists, stacks, maps, etc.). I was given a high-level design problem for extracting data from text files using regular expressions and assembling that data into data structures. I was then hurried to my next interviewer, who asked me to write whiteboard code using C++ flattening specialized doubly linked list structures into pure doubly linked lists. I was then hurried to an interviewer with high-level questions about elevator algorithm design that ended up with coding on paper over lunch (i.e., I was asked to code and eat simultaneously, which was a little strange). I was then hurried to an interviewer who asked me to write C code for doing character processing (reverse letters in a word, then reverse words in a sentence). He also asked me how I thought the earlier interviews went and told me he hadn't read my resume. Finally, I was brought back down to that building's lobby where I picked up a shuttle back to the HR building. My HR rep arrived to meet me after 10 or 15 minutes of waiting. He gave me some tips about touring Seattle that evening (which I wasn't excited about due to rush hour starting), and I was sent on my way.