I submitted my resume to a recruiter at a career fair at UC Berkeley. A week later, they emailed me, offering an on-campus interview. The email said that dressing casually for the interview is okay. "Be comfortable! We’re more interested in what you have to say than what you’re wearing. Microsoft employees usually dress casually, but if you’re comfortable in business attire, go ahead and wear it. "
The interview site was at my college's career center. There were about a dozens companies there that were interviewing UC Berkeley students. Most of the companies were consulting, finance, accounting, or business-related. The students sitting in the waiting room were dressed in very nice-looking suits, whereas the Microsoft candidates dressed casually. One guy was wearing a sandals and a brown button-down shirt that was untucked. I on the other hand was wearing dress-pants and a dark dress-shirt. Basically, I was dressing semi-formally, the business candidates were dressing very formally, and the other Microsoft candidates were dressing casually. The Microsoft interviewer wore a polo shirt. The business recruiters were dressing formally.
My interview was allocated 30 minutes. The first question was "tell me about yourself." I didn't say much. I just said what my major was and that I'm a UC Berkeley student who wants to work for Microsoft. During the interview, the interviewer asked OOP questions, which I easily answered. Next, he asked me to give an algorithm to shift a String 10 elements forward. The elements that fall off the right would go back to the front of the String, if you know what I mean. It took me 15 minutes (not sure if this was true, but it felt like 15 minutes) to come up with the solution. I was sweating bullets. The interviewer really wanted me to talk out my thought process and what was going on in my mind. Everything I said was convoluted and did not seem like it would progress nicely to the solution. Sometime during the 15 minutes of problem solving, I was thinking "I'm so not gonna get this job". In the final 10 seconds I suddenly realized the solution and told it to him. If I had figured out the solution earlier, he probably would have asked me to code it in my language of choice, but there was no time left.
5 minutes was left for me to ask him questions. I asked him whether I took too long on the algorithm question. He said "no, we just want to see that our candidates are able to think in a structured way".
I got a rejection email 2 weeks later, probably because my major is not computer science related, but I taken a few lower division CS classes, and I plan to take a couple upper division ones next semester. "We have carefully considered your qualifications and skills. In light of our current opportunities, we will be pursuing other candidates whose background and abilities more closely match our needs at this time. If you have any questions, please contact your school recruiter."