If they've worked at least 10 years, as a coder - it's VERY unlikely that they're a complete liar. Especially if you can call former co-workers, or look at code samples they have online on a personal github, or look at their post history on stackoverflow, or things like that.
Even a technical description of prior projects - is a really good indicator of whether they're competent.
Puzzle solving - on the other hand, bears little resemblance to actual job requirements in the real world. It's honestly a dumb way to vet candidates. Would I like to see if a candidate, out of a pack of 5 or so potentially equal candidates, has a better approach to creative problem solving? You bet. But I'm more interested in their inter-personal skills, communication skills, and their instincts towards the ethical challenges we face as engineers. (like: when things go south - and blame starts flying). Who do I want on my team? That's the most important question.