Chris Sells writes about the set of tester questions his friend got when being interviewed for Software Development Engineer in Test position at Microsoft Corp.
- How would you deal with changes being made a week or so before the ship date?
- How would you deal with a bug that no one wants to fix? Both the SDE and his lead have said they won’t fix it.
- Write a function that counts the number of primes in the range [1-N]. Write the test cases for this function.
- Given a MAKEFILE (yeah a makefile), design the data structure that a parser would create and then write code that iterates over that data structure
executing commands if needed.
- Write a function that inserts an integer into a linked list in ascending order. Write the test cases for this function.
- Test the save dialog in Notepad. (This was the question I enjoyed the most).
- Write the InStr function. Write the test cases for this function.
- Write a function that will return the number of days in a month (not using System.DateTime).
- You have 3 jars. Each jar has a label on it: white, black, or white&black. You have 3 sets of marbles: white, black, and
white&black. One set is stored in one jar. The labels on the jars are guaranteed to be incorrect (i.e. white will not contain white). Which jar would you choose from to give you the best chances of identifying the which set of marbles in is in which jar.
- Why do you want to work for Microsoft?
- Write the test cases for a vending machine. (Those were the questions I was asked. I had a lot of discussions about how to handle situations. Such as a tester is focused on one part of an SDK. During triage it was determined that that portion of the SDK was not on the critical path, and the tester was needed elsewhere. But the tester continued to test that portion because it is his baby. How would you get him to stop testing that portion and work on what needs to be worked on? Other situations came up like arranging tests into the different testing buckets (functional, stress, perf, etc.).)