Ideally, you'd focus on something that is called more than a trivial amount of times, as this is where code that is difficult to maintain would be the most annoying. This means focusing on a fundamental layer of the application, somewhere in the bootstrap process.
Asking someone to design an inversion of control (IoC) container and demonstrate it with two classes that sometimes depend on each other would be a good test, for bonus points you could stipulate that the classes should also decouple nicely from the IoC container itself. If you want to be brutal, toss in a singleton requirement for one of them. While the task is not difficult to get right, it's not exactly trivial and also lends well to demonstrating someone's overall knowledge. It's easy for less experienced programmers to get this wrong.
The end result would most likely not be a lot of code, and give you a good indication of how well the person actually thought the problem through prior to diving in and writing it.