Surely the most accurate would be to ask them to solve a problem closely tied to the sort of job they will be doing (doing variations on FizzBuzz under time pressure does give information, but that information may not be entirely relevant to the job).
And the objective should be to establish a level of capability which is acceptable for business purposes, not to try to optimize on intelligence.
Be truthful with yourself about whether you really want the smartest guy possible. The smartest guy sees the boss's (or company's) bullshit and is more likely to say something about it. This makes trouble. The smartest guy may be a "bipolar" type. The smartest guy, with the mind that needs meat to chew, is more liable to implement things in a clever way than one which average joes will be able to maintain and extend easily. You probably don't want the smartest guy because he probably isn't as good on some other dimensions.
What I see in this industry is that we project intelligence onto the people with traits which satisfy our prejudices (typically people with high class/status). Then we filter on this perceived-intelligence with the rationale that we want a company with people who are as smart as possible. The actual effect is at least as much to favor people with high social status and self-promotion ability and physical attractiveness as it is to favor smart people.
Hiring processes are irrational not because nobody can ever work out the right processes, but because we work backwards from unexamined pictures of "the right candidate" to the processes which will select that candidate.
This is pretty much what I've always done - describe the sort of problems they're likely to encounter in the role they're being hired for, perhaps mentioning a few challenges we've had (and possibly already solved), and ask them to explain how they would solve the problem. It's pretty difficult to bullshit your way out of answering a real problem.
Other than adding in some rudimentary skills tests (say, FizzBuzz + walkthrough writing the code with them), and checking if they've developed anything out of their own initiative, I can't see why you'd bother asking anything else.
I really like the theory of this, but in practice I have a hell of a hard time figuring out "real problems" for which the explanation and solution would occupy less than an afternoon.
And the objective should be to establish a level of capability which is acceptable for business purposes, not to try to optimize on intelligence.
Be truthful with yourself about whether you really want the smartest guy possible. The smartest guy sees the boss's (or company's) bullshit and is more likely to say something about it. This makes trouble. The smartest guy may be a "bipolar" type. The smartest guy, with the mind that needs meat to chew, is more liable to implement things in a clever way than one which average joes will be able to maintain and extend easily. You probably don't want the smartest guy because he probably isn't as good on some other dimensions.
What I see in this industry is that we project intelligence onto the people with traits which satisfy our prejudices (typically people with high class/status). Then we filter on this perceived-intelligence with the rationale that we want a company with people who are as smart as possible. The actual effect is at least as much to favor people with high social status and self-promotion ability and physical attractiveness as it is to favor smart people.
Hiring processes are irrational not because nobody can ever work out the right processes, but because we work backwards from unexamined pictures of "the right candidate" to the processes which will select that candidate.