It is college recruiting. The first interview was in college about 1 hour, one coding problem about sorting, just write the pseudo code in a paper, not so difficult, the pressure is timing. Then asked some questions about projects in my resume, and questions like how do you think to improve some Microsoft products like IE etc. Three weeks later I was informed they will fly me to Redmond for onsite interview.
I flied from Florida and stayed at Seattle for two nights, Microsoft paid all the trip. The first night is a big dinner party with all other candidates over the country and Microsoft managers/employees who will interview us the next day. The dinner is not interview, just casual party with chatting, get familiar with each other, very friendly.
At next day all candidates are divided into two groups, interviewed by morning and afternoon separately. I was in afternoon group, the morning is a bus tour for the Microsoft campus, meeting and talking with HR and engineers, introduced the Microsoft life, sports center, science center etc, they want you to like here, treated like we are one of them already. Actually the HR told us once you are on campus interview, that means basically you are qualified to Microsoft, but they only hire top half of us due to high competitiveness.
Afternoon interview has 4 turns, about 1 hour each with different development manager. Each turn has coding question of course, write the pseudo code in white board. They are not very difficult, once you are in good hand in algorithm class, it should be OK, the timing and efficiency is the key.
Remember I said they only hire top half of the group, solve as many coding questions as you can in one hour with better efficiency, then you will stand out to the top half. I worked OK to the first and second turn, the managers are friendly, and asked question like how do you think about Microsoft, any question/expectation to Microsoft/product etc.
But I failed at third turn, my coding solution looks complicated and inefficient, although I worked out, the manager pointed that and introduced better one to me, of course that means mine is not that good. The fourth turn means nothing then, the interviewer not on the interview mood at all, just asked some unimportant coding/question to pass the time.
So the result is obvious. All of us know the result right after the interview finished. They call the failed candidate one by one out of the room and told you very regretfully then you can leave. And the other half who still left in the room are offered...
This is college hiring, all the candidates are undergraduate/graduate, the experienced one may be different and more difficult. Someone said since the 4 managers are from different team, if one or two are interested in you, then you may be hired, but by my experience that is not true, you have to pass by all 4 to get offer. The key is practice of coding problems consistently, from easy to hard, in short timing and good efficiency which make you competitive.