I haven't yet reached the stage of giving interviews but I've given some thought to it. Based on the experiences I've read, it seems that technical proficiency should be addressed in a basic way prior to any in-person interview; the latter can then be devoted to gauging fit and personality.
My idea for the technical side is this: procure a fairly subtle, simple, real-life bug that you yourself have had to fix. Ideally it should involve a single class or function and require about an hour for a competent person to fix. Email the code to the candidates along with the parameters that fail, and ask them to resolve the bug and return the code.
This tests a lot of skills that should immediately filter out unsuitable candidates - such as code comprehension, bug-finding, and problem-solving - all in a real-world scenario. You can also change up the scenario every couple of months, and very quickly test whether a candidates' code passes. Has anyone come across something similar to this?