Being interviewed by Microsoft is an exciting experience. You get a chance to meet people who are actually creating the next generation software.
Here are some tips for the interviews (at least they worked for me).
- Just be the way you actually are. Don’t act or pretend. I rolled up my sleeves before my first interview as I always do when working.
- Try to forget that you in the Microsoft interview. Just think that you are in front of some quality people who want to know about your current knowledge and interests.
- If you get a better idea while implementing/solving a problem, keep a note of it but complete your first solution first. Then tell the interviewer that you can now present a better idea. Jumping to ideas again and again might leave the problem unsolved in the end.
- Don’t ask too many questions in the beginning about the Team etc. as time is limited. I got to the coding questions late in my first interview and I had to rush. In the remaining interviews, I told the interviewers that I have some questions and they spared 5 minutes or so at the end. This approach provided me with ample time to code and test and ask questions.
- Give as many ideas as you can. Even if idea doesn't make sense to you, you interviewer might be interested in listening it. Almost 4 times, I thought that some idea is not a good one but I spoke and it turned out that interviewer wanted me to talk about that.
- When suggesting a data structure, be ready to DEFEND your opinion. Even if you have suggested the best data structure, your interviewer would like you to compare it with other data structures and discuss their advantages and disadvantages.
- I never got a single Riddle/Puzzle question in my 5 hour interviews. It doesn't mean that you will not get one but it certainly shows that don’t waste your precious time preparing for puzzles.
- Talk, talk and talk (obviously listen to your interviewer as well).
- Suggest improvements in given function prototypes. Sometimes they are intentionally flawed to see if you can find out the flaw or not.
- While writing test cases, keep in mind that your code should verify all of them. If you find a test case that you have not handled, tell this to your interviewer straight away. Also suggest modification in your code to handle this test case.
- Don’t skip the test case that you have not handled as your interviewer is likely to suggest this test case. In case of avoiding, you are showing your incapability. First you coded a problem and you were not able to tackle a case. Then you again analyzed the problem and were still not able to identify a valid test case. So it’s -2 instead of -1.
- When in doubt, ask your interviewer to explain.
- If you don’t know something, simply tell your interviewer. Your interviewer will appreciate it and will try to explore your knowledge in some different domain.
- Even if interview is not going good, don’t get frustrated. May be your interviewer has intentionally given you a tough problem and would like to see if you lose heart or not
- Keep faith in God and in yourself.