Several people have emailed me recently asking for tips on getting through their upcoming interviews at Microsoft. My advice:
Be Yourself. I believe this is the most important tip I can give you. I find that how someone fits (or does not fit) with my team is much more important than what they profess to be able to do. If you pretend to be someone other than you in fact are, I believe you are doing both yourself and your potential teammates a disservice. If the true you is not a good fit for a team, why ever would you want to join it?
How You Approach A Problem Is Way More Important Than Whether You Solve It. You will be asked all types of questions, from "Tell me about your background" to "Tell me about a time when ..." to "Write a function that ...". Each of these is intended to provide insight into your fit with your prospective team as well as with Microsoft in general. An important component of how well you do or do not fit is the approach(es) you take as you solve a problem. Take, for example, the coding you will almost certainly be asked to do. I have never had anyone complete my coding question. This does not bother me. I do not care whether the person I am interviewing knows C# inside and out if they haven't a clue how to solve problems they have never seen before. Nor I do care (much) how awful their code is so long as I feel their approach(es) to solving the problem is effective.
These are my tips. I could give you many more. They might help you. They are not necessary. Remember to be yourself, and to focus on how you approach the problems you are given rather than whether you solve said problems, and you will be fine.
If these tips help you get a job at Microsoft (or anywhere else, for that matter), let me know!
P.S. If you are interviewing at Microsoft, why aren't you interviewing with my team? Let's talk: Michael dot J dot Hunter at microsoft dot com. Great testing and coding skills required.