I talked to the recruiter at an information session event, asking about the job/application process for junior undergraduate students. She was very nice and enthusiastic. I handed in my application the next day to her in person, and was scheduled an on-campus (at my university) interview after 2 weeks.
The actual interviewer was horribly unprofessional. He was grumpy to begin with, supposedly due to his jetlag from flying over to Toronto. He asked me what my interests are within Microsoft (User Experience/ Drivers and Firmwares/ OS and Dev Tools, etc) even though I had already filled out a form indicating my interests. Also asked me which internship position I'm most interested in, Software Development Engineer (SDE), SDE in Test, or Program Manager Intern (PM). I also indicated previously that I'm most interested in PM, which is under the umbrella term "Software Development" on Microsoft's recruiting page (http://careers.microsoft.com/careers/en/us/tech-software-internships.aspx). However, he seemed adamant on claiming that PM role is not a software position, saying multiple times that I'm interesting in SDE/SDET when I kept telling him no, I'm interested in PM.
Off to a bad start, mostly since he didn't seem to even know what he was interviewing me for.
He then asked me about my previous projects, reading my resume (seemingly for the first time). On my resume I mention OpenCV (computer vision), which he read as OpenCL, asking me questions about how I used it in parallel computing. I politely told him that I used OpenCV for processing images, but he didn't seem to understand it. After about 5 minutes (of the 30 minute interview) of him thinking I knew about OpenCL, he re-read the resume and realized his mistake. At this point, I thought he would just apologize/move on, but he proceeded to tell me how he thought it was OpenCL, that my program would be much better with parallel processing, and just overall making it seem like it's suddenly my fault for not using OpenCL.
Now I'm pretty upset, since I felt that his view on my projects were not even based on what I did, but more what he thought I did.
Regardless, he asked me technical questions, most of which I answered correctly. I had a momentary lapse in memory and said sorting an array takes O(logn), but I quickly apologized and stated the correct complexity. He seemed irked by my mistake and asked me to write a C code for mergesort. While I was writing this (wasn't that long, 5 minutes max throughout which I explained my thought process), he picked up his bag from the floor and started taking out packages. When I looked over, I noticed he had actually taken out the file for the next interviewee. He was obviously not paying attention, and he made it worse by taking out his phone and proceeding to check email or send a text. He pretty much ignored all I said and afterwards just briefly looked at my code (which was correct).
Overall he was absolutely rude and unprofessional.
Oh also, throughout the beginning few questions about my interests in specific jobs, he always started by saying "I have to ask this, ......" in the most oh-my-gosh-why-do-I-have-to-interview-people tone. Seemed like he didn't want to be there at all.