This is the method I've been applying for some time now (not at a large scale, but quite reliably):
So what should a developer job interview look like then? Simple: eliminate the exam part of the interview altogether. Instead, ask a few open-ended questions that invite your candidates to elaborate about their programming work.
- What's the last project you worked on at your former employer?
- Tell me about some of your favorite projects.
- What projects are you working on in your spare time?
- What online hacker communities do you participate in?
- Tell me about some (programming/technical) issues that you feel passionately about.
Basically, have a relaxed, friendly chat, and tease out whether they're a bright, passionate geek, or not.
Worth noting that this method is, in my opinion, only applicable by people who are themselves developers. If you're completely non-technical, you'll struggle to tell apart a good bullshitter from a geek. Whereas as a geek, it's very easy to do. Any chat about past side projects will involve numerous statements that only a geek can get consistently right - and one slip-up is enough to discredit someone, in this game (for example, "Yeah, I built this 3D engine in C++, it was pretty cool. It ran in the browser." would need some very good follow-up to be convincing, and a flake would not be able to come up with it).
If you read this far, you should follow me on twitter here.