I figured out a common trait among almost all whom I interviewed , They seems to know 'What it does' but dont know what it is or how it does.
For example, They do not know what database indexing is or how it works(They know what it does though, improve query performance, wow!)
Ask them few intermediate level sql queries to write and they would be like I did it using ORM of framework xyz.
Or at programming language level, I asked what singleton is, they replied correctly about what it does, but failed to answer how it works, and interestingly answer were different from 'experts' of different language or framework, ROR guys said it works probably by installing gem, PHP guy attempted to write class but couldnt , javascript guys usually like 'meh, I dont know'
Asked them about REST and all would correctly recite its verb and full form, but would fail miserably when you want to know from them what is purpose of doctype, Or how http works under the hood or sometimes they dont even know what is GET and POST.
I remember things were different around 10yrs back, People used to write lot of code from scratch and had less tools, I am not blaming tools or framework for it, but new gen programmer seems to be so dependent on tools that they dont even care to know about whats going on under the hood. they would just read few blogs, read tutorial of framework/tools and start calling themselves expert.
EDIT : Formatting