I attended an information session given by my university's Microsoft recruiter. I met her afterwards, gave her my resume, and was informed a few months later that I was to be scheduled with a preliminary interview. I met with a gentleman for 45 minutes and he asked me fairly easy questions: how would I reverse a string, how would I design a high-level game, and just to talk about my leadership experience. After that, I received an email informing me that I would be flown to Redmond and accommodated for a few days while I had an onsite interview at the Microsoft HQ. The experience was incredible - the campus is gorgeous and the people were brilliant. I was interviewing for the OCS team in Office, and met with three different interviewers throughout the day. Each interview, typically, lasted around 45 minutes and had me answering one design question and a shorter, more abstract algorithm question. The questions weren't too tough, but I could've done better. Just more things to learn!