My process began with applying online around winter break of 2011. I am a sophomore and majoring in EE, so I knew my chances for an internship better laid with a software company. I applied through their website and luckily after a few weeks I learned I was invited for a phone interview in January.
The phone interview was with my college recruiter (HR person) and was mostly just about my interest and experience I had in software.
After a few weeks she emailed me back telling me that there was no room for me this time and to apply again next year. I replied back to her thanking her for her time, and that if any opportunities come up again, to contact me.. After a few more days she actually emailed me back saying that space opened up!
I flew to Redmond for 3 days. The first day was just the flight and the second day is the all day interview. There were three rounds, each one on one. Each person in each round is random and the questions the ask vary from routine interests questions to more technical software questions/puzzle solving. After that the last day was just the flight back.
After around a week they emailed me to ask to call and discuss the results and after I called I was notified that i got he offer!