I've said elsewhere on this thread, but my absolute favorite technical interview method is to set up a contract to pay the candidate to create a feature or fix a bug on your codebase, and have it merge and work as expected.
It lets the candidate feel (literally) valued by your company, and you get to learn how they do the job you are hiring them to do.