Hi Colin, I like your approach. I would also be letting somebody do a programming exercise for an hour or so. With an Internet connection and a editor and runtime of choice. I guess you could even consider to hire a company/service to perform coding tests on applicants for you. That may save you even more time.
> I would also be letting somebody do a
> programming exercise for an hour or so.
Aye, but that comes after the filter. In particular, with FizzBuzz there are loads of follow-up questions you can ask to find out which way the applicant thinks. For example:
* Can you clean the logic flow to avoid duplicating tests?
* What if the tests are actually very expensive?
* Did they combine the mod 3 and mod 5 tests into a mod 15 test?
* What if that's not possible?
* What happens if you unroll the loop?
* When might that be a reasonable thing to do?
Most of these are structural questions that have analogs in live code, and serve as good starting points. They need to be adapted for the different types of work.
Programming exercises are well and good, but if the applicant passes the filter, and can discuss the various issues it raises, a "programming exercise" is really a bit marginal. I'd rather move on to pairing with them on some real code that they'd be likely to be working on.
Currently there's no service I know of that I would trust to run a coding test for me.