The process started with a conversation with an employee and alumni of my University at my Career fair. It was a fun conversation that was super casual. I enjoyed the discussion I had with him regarding my side projects and classes and things like that. The person I talked to specifically was pretty down the earth and very honest about his opinions of the company and the work he does, so that was a refreshing change from someone trying to drown me kool-aid. I was contacted about a week later regarding an on campus interview.
The on campus interview was, if I remember correctly, 20, maybe 30, minutes long. It was about 10 minutes of behavioral questions that was all pretty standard. Team experience, personal projects, a brief QA. Following from that, we did 1 technical question. The one I received was fairly basic and I communicated directly to the interviewer that I knew the answer immediately. From that he permitted me to write it in pythonic pseudo code for my solution. We then discussed why it was the best solution as well as other, worse solutions, to the problem. All in all a good experience. The interviewer seemed interested in me and treated me like someone actually suited to interview for the company. I received an invitation to interview on site the following week.
Scheduling my onsite was a bit of a pain and from what I understand from my friends, they had similar experiences. The communication with the recruiting manager was great, but because of how responsibilities are tossed around at MSFT, it took a long time for my flight and other things to get confirmed and even when I was told I would be receiving the information on them, I never received them. If you aren't paranoid like I am, then this isn't much of a big deal.