A long time ago ...
... my mentor and first manager in IT Consultancy (after I left academia) ... told me that the point of an interview was often misunderstood - it was social, rather than technical. According to him you
1) select CVs that match well (use technical people to read them)
2) interview to find the people you LIKE, and feel you could get on with in a team. His interviews appeared to be no more than a relaxed chat, but you'd be amazed how many loons could rule themselves out with ill-chosen statements or strange behaviour.
3) mention that you have a 1 month probationary period; the last 3 guys got the chop during that period, and that you are really glad to meet someone who does have the skills they claim to have and who can stay the distance. if they are still interested you give them the job.
4) if they are rubbish, you sack them very quickly and call the people you politely rejected last time.
You *cannot* find out what someone knows in an interview for any remotely technical role, and you can't solve this with harder or longer (5 days!) interviews. You can find people you LIKE, and if you find their abilities do not match what they claimed, you can sack them. Because you used step (1) you can sack them on the grounds they lied on their CV, which is pretty much a humdinger, and no tribunals result. It's much harder to sack people because they don't get on with the team - although these people cause a lot of damage, even where they are individually capable.