I recently had an interview at Microsoft. Before the ordeal, I spent a considerable amount of time in a medidative trance, trying to cleanse my subconsciousness of a jeopardizing anti-microsoft mentality. I don't think it worked, because minutes after the interview, I found myself gleefully reading away at a [ humorous article] linked to from slashdot, regarding "Microsoft WinX (pronounced winks)".

Anyway, the interview itself was divided into two parts:

= Human Resources =

I was asked general questions, such as

Then she switched gears a little bit and presented me with a riddle: Given 9 containers full of 1g balls, and 1 container full of 1.1g balls, determine which container contains the heavier balls by taking only one measurement on a digital scale.

= Technical =

I was greeted by a lady that could've been my grandmother.

She asked me to write a function that, given an integer and an array of integers would determine whether the integer exists in the array. What was the value of this exersise? How can one determine the quality of the candidate from this sort of question? My guess is that before setting out to write the function, I was supposed to ask any number of clarifying questions, such as:

I failed to ask anything. I just sat down wrote linear search in C# and C++. Then I was asked a bunch more trivialities, such as

She also asked me what technology I see taking off in the next 3 years. I said something about XAML, and accidentally spilled the beans in the process. Oh, XAML's just like XUL and SVG, isn't that nice. And wouldn't it be great if GUIs finally stopped sucking? Maybe XAML will help?

Then I was dismissed. I had a chance to ask my HR interviewer some banal questions about how it all works at Microsoft, to try to simulate some enthusiasm. Got her business card, yadda yadda.

Of course I didn't get an offer!