This is how it is with two out of three people. By the time they pass the filter of their resume and whatnot, two or three people are OK. They can answer basic questions, they act normally, they seem to have been doing the job as they said for a few years. They are also somewhat interchangeable with the person we interviewed before. Then we interview someone else, and maybe they were referred by an internal team member with a recommendation, maybe they are just a standard deviation above who we interviewed in terms of what they know. There's nothing really wrong with the people rejected, it's "you seem to know how to program basic features like two out of three people we interviewed, but we interviewed someone else who has a deep understanding of the language we use".