Microsoft is famous for asking brain teasers during interviews. Here
are some actual questions that I've either heard about from friends or endured personally.
Brainstorm on what windows (real windowsthose
brittle, transparent things in walls) will be like 200 years from now. Assume great
technological progress. Money is no object.
Design the ultimate shower. Assume money (and fear of electrocution) are
You're in a rowboat floating in a tank of water. There's a big rock in
the boat. You drop the rock into the water, and it sinks to the bottom. Does
the level of the water in the tank go up, down, or stay the same? (I got
this problem personally while sitting in the hot seat, and blew it. It's a cool problem.)
Describe an algorithm to determine whether a singly-linked list is corrupt.
By corrupt, I mean one node is back linked to a previous node, so that if you
start at the beginning and go node by node, you'll never come to a terminating node.
Don't allocate memory doing it, e.g., space for each pointer. (Software
can be beautiful.)
Describe a simple algorithm for reversing the order of words in a string.
For example, "The quick brown fox jumped" becomes "jumped fox brown quick
The." Do it in place, that is, without using a temporary or output string.
A rectangular birthday cake has a single rectangular slice missing, and you
want to divide what's left equally between you and a friend, with a single straight cut.
How? (No, you don't cut the cake horizontallyone
of you wouldn't get any frosting. There's an elegant
Why are manhole covers round?
Estimate how many gas stations there are in the U.S.
Estimate how many tennis balls would fit in the Rose Bowl.
Why did evolution favor egg-shaped eggs?
You've got a five quart jug, a three quart jug, and a lake. How do you
come up with exactly a gallon of water? (I was given this golden oldie,
except my inquisitor didn't say "jug"she said "amorphous
container." Seriously. I'm not making this up.)