Honestly, I think the whole process of interviewing for a position (at least an engineering position) is badly flawed. I'd much rather (as both manager and worker) to have a quick chat that covers technical aspects and glaring communication issues and then a couple week paid trial period to see if something is going to work out. It's a nightmare from an HR perspective, but I bet it would help hire the right person for the job much more often.
This is exactly how Chinese labor contracts are written. You are interviewed and are offered a contract with a three-month probation period. At the end of the three months, you either have successfully completed probation or are let go, depending on your performance. Most people successfully complete probation. It’s no more work for HR than hiring someone who quits after a couple months.
We typically do this in the US as well since most states are "at-will" situations where one can be fired at any time for nearly any reason. Most new hires are on probation six months and subject to termination if they don't stack up. Still, interviews are critical for finding who might be a good match according to their ability to solve problems, work collaboratively, think on their feet, etc.
This is how every single software egineer at my company is hired. Every single one starts out on a 6 month probationary contract.
Every single one. No exceptions. I started out as a contractor, all of my coworkers started out as a contractor, my manager started out as a contractor.
People go through a few technical interviews, start out as contractors. Only about 25% of the contractors get hired on full time.
It works out pretty well and the full time staff are all nice, respectful, professional, and generally know what we're doing.
The contractors are sort of hit or miss though. They might know what they are doing. Might not. Might be professional and have good communication skills. Might not. Might not even be working at all. Who knows really.