There is also the reality that when companies need to fill a role, and when first start interviewing they will set the bar way too high and reject some perfectly qualified candidates. After the interview process has dragged on for some time they will eventually decide that enough is enough and will hire the next candidate that shows basic competence (or just hire someone's friend).
BTW, one solution to this I recall being suggested by Eric Schmidt is to use a hiring committee among other things