This has been made worse by not being able to explain the interview process. I specifically asked, many times to various recruiters, what I would be quizzed on or what I should prepare myself for. Few could tell me anything beyond, "some technical questions about algorithms and data structures." Inadequate. The interviewer proper would ask random questions about memory architecture, optimizing the brute-force KNN algorithm, or simply how to reverse a string. Meanwhile I was studying binomial coefficients, heaps, tries, and the standard sorting algorithms. I have github projects that implement lattices for a logically monotonic distributed programming language. For someone such as myself this is unacceptable and leads to some dead-end interviews that are a complete waste of time.
I blame the way we "funnel" the "dregs" of candidates and have little to offer in terms of solutions. I agree with the author that companies seem reluctant to do actual head-hunting. I always assumed that if you contacted me for a job there would be a reason: you like some of the projects I host on my github or have seen my contributions to various open source projects -- that you already have an idea of my skillset and abilities and want to get to know me. Recruiters are more inclined to match keywords and send me through the process... they're not incentivized to get to know me at all. All I can suggest is to not use a recruiter or at least choose one carefully: choose one that knows your industry well and can tell a min-heap from a max-heap.
edit: fixed wording implying a specific github project was some sort of library or system when it implements a single programming language, not languages.