I get the best results from just asking them to describe something they've worked on that they're particularly proud of, or was particularly difficult. And keep prodding for more details to get a real feel for how the person works. Basically, pretend you have just taken over a project and are trying to get more information on it from one of the developers on your team. You'll find out a lot about the person in a conversation like this, far more than from purely theoretical or "the answer is B" questions.