After my graduation, I posted my Resume at Microsoft's global career website, HR contacted and scheduled phone screen that was an hour long, I was invited for onsite interview full loop, the onsite loop involved first some information exchange with HR person, then I was approached by would be manager, he welcomed at the reception and sent over to another member on the team to be interviewed, I had 3 interviews back to back and one of them has been a lunch interview, then I met the would be manager (a test lead) again for the fourth interview, all first four interviews were whiteboard sessions, and we also chatted on my resume, past experience, general questions like where do see yourself in five years from now, etc etc. All the programming questions were on data structures and algorithms and core CS concepts. My fifth interview was with hiring manager (a Test manager), he also sent me to board for another whiteboard session, then asked me various test questions, like give test cases for testing the keyboard, coffee mug, MS Paint, then he started over resume and asked me questions on my research assistantship experience and projects that I completed there. All the interviewers were very respectful, between each interview they asked me if I cared for a drink. It ended up very happy and memorable experience, I was offered the job!