This is 2019, soon to become 2020 God willing, and the tech stack of our modern age has become huge. No normal person comprehends or memorizes every single aspect of the entire stack they work with, and they don't have to, nowadays we have things like search engines and personal notes.
If you, the reader, is a person who interviews candidates for web development, or just tech in general, you need to understand that if you're focusing on the technology rather than the people skills, you're doing it wrong!
Nobody in their right mind would ask questions about search algorithms or framework abstractions. Why would you think that these questions matter in the least? Do you think that if a person knows the answers to these stupid questions that he or she is somehow more valuable to your company? What you need to figure out is whether you're dealing with a condescending and obnoxious jackass.
Anyone with a genuine interest in technology, especially someone self taught, can get up to speed pretty quickly, especially if your company has good documentation (and of course you do have good documentation right?) and helpful colleagues.
There is trust involved and there is always a risk when hiring someone, but no lengthy code quiz or stupid white board quest is going to guarantee that you have found a good candidate. Perhaps this person has memorized the answers to your questions because someone at Glassdoor has exposed your entire interview process.
I suspect that this bad trend is becoming a standard in the industry because it is reported that this is how Google does its interviews. Well, if that is the case, then consider the following: Just because Google does something, doesn't automatically make it good. Google is becoming less and less about providing good search results and more about making optimal profit by stalking users on the Internet. They are definitely not worth imitating.
You need to treat your developers with respect. If you think they are expendable and easily replaced you are sorely mistaken. Whatever future employees that accept your behavior, perhaps out of dire need, and pass your tests, will sense the attitude at your company, and nobody will like to work for you. So how do you think the quality of the work is going to be?
Of course a candidate has to know the basics, but even a good programmer might not be working with programming all the time, some do a lot of sysadmin work too. The person can perhaps not remember how he or she normally solves a particular problem. This is not a problem, and this is not important.
The only real problem you might be facing is if you're dealing with a fraudster, someone who is lying and who wouldn't know the difference between a variable and a function, but these guys are usually easy to catch, you hardly need a code test to figure that one out.
So, unless you're from CERN or NASA and you actually do need some kind of "braniac", I suggest you reconsider your interviewing process.