I've talked with several people recently about how they can increase their chances of making it through their upcoming interviews at Microsoft. After noticing definite patterns in their questions, and in my answers, I decided to record them here where they may help a broader audience.
I'm so nervous! Yep! In my ten-plus years here at Microsoft I've been through forty-some informational interviews and close to ten full interview loops, and I still get nervous, and am sure I am doing horribly, and I am talking really fast, and . . .
Take a breath. Slow down. Be yourself. Yes, you may not have any idea how to solve the problem your interviewer just asked you. It doesn't matter. Unless you have a bad interviewer, what they are most interested in is how you approach the problem, not whether you come up with the best solution. More than once I've gotten stuck on "I know there's a better way to do this!", and so I'm standing there doing nothing rather than working towards a solution - *not* helpful in getting hired!
They keep asking me to write these algorithms I've never heard of! Tell them! I never studied computer science and so run into this all the time. Tell your interviewer that you aren't familiar with the algorithm, or concept, or whatever, and that you'll work through it as best you can. Remember, your interviewer wants to see how you solve problems. They can teach the particular programming language they use or the problem domain they are in as long as you can work through a problem you've never seen before.
I have to code?!? Maybe. It depends what job you are interviewing for. Dev or Test, definitely, in at least one interview and probably all of them. Program Manager, UI Designer, something other discipline, maybe - it depends on the group.
Will I be asked those stupid impossible-to-solve-unless-you-know-the-gimmick questions? Maybe. Personally, I *hate* them!
What else do I need to know? Be yourself. Ask questions. Explain your thought process. Ask for what you need. Remember: if it's the right job for you, you'll get it!