It really is kind of silly. I naively started interviewing this way, basically copying big G and others who do these kinds of interviews. The problem was I was filtering for the type of programmer who enjoys these discrete, quirky, contrived puzzles, not real engineers who understand resource constraints, writing production quality scalable software, and fierce debugging. Now I find a candidate whose work impresses me, put him on a project for 2 weeks, and hire at that point if we're happy. So much better.