RE: Hiring a programmer? Ask these questions in the interview
Here's another (not many people get it right). Given 2 variables X and Y, swap their values without using a third (or temporary) variable. The answer is Y = X XOR Y, X = Y XOR X, Y = X XOR Y)