The problem is that most companies make terrible decisions about which skills they want right out of the box. They can't get people that are 100% on everything they actually need (as such people are unhireable for the job/pay they're offering), so they settle for people who know a lot about B+ trees (or more likely, how to reverse a linked list and do a bad version of quicksort on a whiteboard) because that's what the folks who have been studying their "how to get hired at a tech company" webpage know.
I think the attitude of "they should hire me, since I can learn anything" is self-centered. There are a lot more people that can't learn. Without testing methods available there is no way to distinguish the self-starters from the frauds.