I've had very competent developers who had next to no clue about how DNS works. They could do their job just fine with that. Me? Personally, I'm not up to snuff with the finer points of SQL queries and all the joins that exists and when it makes sense to create an index, etc. Could I find out? Most likely, but I haven't had the need to recently.
I think that's true, and not every developer out there will know everything anymore. It's just too vast a space.
That said though, I do find that there is a general dumbing down of the development community overall with the advent of high level frameworks. It used to be that you had to be pretty technically competent in order to program. Now, things have been simplified so much that a lot of people who would never have been able to program back when the popular languages were C/C++ are able to get jobs as app developers. That's not necessarily a bad thing since the frameworks shortened app development time and made it so there are more people to fill jobs. But, it does mean that if you have a job that does require that strong, deep knowledge of how things work you are going to have to look harder. The same kinds of strong technical types who could have been very able C programmers 20 years ago are still present today in the web development landscape, but think of it like signal to noise ratio: if they are the "signal", there's a lot more noise to sort through now.
As a good example of this, I worked on a web hosting team for a very large company. Our average time from posting to hiring was actually about a year. There were plenty of developers around, but we needed the kind who understood (or could be trained to understand) lower layer technologies, such as HTTP, DNS, some of the auth technologies like basic or Kerberos, the web server itself (IIS), F5 load balancers, and that sort of stuff. Those are the kind of things that have to be in place for web apps to run. And as it turns out, many people can slap together a website with high level frameworks but a much smaller percentage are able to learn the underlying technologies at a deep level. And unfortunately, of the internal developers we knew could handle it, most said "No, I don't want to worry about that low level stuff... that's why we like have you hosting guys around to handle it for us!" So we would always have to post externally, and it would take about a year, almost never less than six months.
So if you've got a need for someone to just write basic apps, you can fill that fast, but if you need a "deep" programmer just expect that it's going to take a very long time to find one, but if your compensation is adequate you will probably get there eventually.