Gave up doing coding interviews long, long ago. Nowadays the only really effective measure of how useful a person is going to be in the work environment is to actually put them in that work environment for a day and let them contribute as best they can.
This always filters out the incompetent from the productive. If we can't survive a day with you in our environment, games over. If however, you survive a day in our environment and still want the job - game on.