A few people have interviewed with me lately for Java positions we have open on our team. I’m always more interested in how people think than what they know. Descriptive logic is great, but unless you know how to reason, such knowledge is of little use.
My favorite questions to ask are in the lines of “What here would you write differently, and why?” when looking at a piece of code, preferably written by the subject. The way that questions is answered tells you a lot.
For a good overall question, I ask “How would you design a Garbage Collector?” Of course, there is no right answer (unless you’re a genius, or have actually written a GC) in a short interview. But the way you discuss and reason shows a lot about your skills beyond reciting standard J2EE patterns, etc.