A friend of mine sent along some questions he was asked for a SDE/T position
at Microsoft (Software Design Engineer in Test):
“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 (no
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.).”
Cool piece by Andrew Troelsen on the new refactoring features in Visual Studio 2005 for C#. Now I just have to train myself to think to use the refactoring operations instead of letting my fingers do it as they've been forced to for lo these many years...
JohnMont (who oughta know) provided these numbers today as “quotable and public” so I thought I would:
There are ~6M professional developers worldwide, about 90% of whom target Windows
There are about 2.5M .NET developers
>60 of the Fortune 100 develop using .NET
Forrester says that 56% of enterprises in North America are choosing .NET for their development requirements vs. 44% choosing J2EE
According the legend (JohnMont didn’t comment on this part), 4-5M of those 6M developers targeting Windows are Visual Basic developers, which means that if they ever get tired of being made fun of by the C family of developers, we’re going to be trapped in phone booths while they descend on us like the birds in an Alfred Hitchcock movie…
Does anyone have a VPC image of Longhorn 4074 (the WinHEC Build) that they could share with me? Every time I try to install, it crashes the VPC. Normally, I wouldn't ask (I have a machine just for Longhorn), but I have the need to run the latest public and the latest internal builds. Thanks!
Right now, I'm holding the shared source Genghis library back. I'm acting as sole arbiter of what makes it into Genghis and how and I'm not able to keep up with the flow. I'm looking for someone who's interested in sharing this duty with me. Only proven contributors to the Windows development community need apply.