I try to ask a simple question that pretty much any half decent developer should be able to solve quickly. Then we have a conversation about it and discuss why they did it, possible problems, how they'd handle new requirements, etc. It's more important to me that they can speak intelligently and collaboratively than memorize a bunch of puzzles. It is tough to determine if a candidate will be a good fit in the hour they give us.