The best piece of advice is that instead of using arbitrary programming puzzles, you should come up with problems that are similar to the problems faced during the daily workday for the developer interview:
take the time to come up with a problem that accurately represents what the job demands. Obfuscate something that your team recently had to work on and chop it up to be much smaller in scope. Be clear what your expectations are: if you don’t ask for tests then don’t expect them to provide tests.
Do not fall into the trap of trying to assess how the candidate solves a problem, that’s an arbitrary rule. It’s impossible to measure how in a way that stands up to scrutiny. Instead focus on what their answer is.
It’s a long article filled with other great pieces of advice. Click here to read it.
Also published on Medium.