I've read a lot of different articles on how to locate good programmers, including the Joel Spolsky and Steve Yegge stuff. Overall I feel we have a pretty good interview process. We ask good questions and we have a coding test problem that we give to candidates to help screen out people that can't actually code; this problem takes a little while and is a "take home" where the candidate is given a few days to return a solution.
Overall this process has worked fairly well with us, but we have still landed an occasional dud on the programming front. In at least one case I now suspect that the solution provided was not the candidate's own, but there would be no way to prove this out; nor would it matter as such.
We are in an environment where once someone is hired it is incredibly difficult to let them go, so this makes it all the more critical we end up with a good candidate.
So I would like to add a coding exercise into the actual interview and have the candidate work through a solution in a pairing style environment with an existing team member. I'm looking for something that is not terribly complex; something any competent programmer could solve in about an hour, but also something a little more difficult that the fizz-buzz problem.
I've looked at the following questions as well as other similar questions, but most are slightly different in that they are not asking for specific problems that could fit within the time constraints and are well suited to pairing, or I haven't really seen good answers provided.
And many many others...