I've been hiring recently for a senior developer and I have had a dozen or more candidates not be able to explain composition and inheritance or the differences between an Object Oriented or Functional language. One person started describing how to define functions and another couldn't really explain inheritance.
For my company, candidates lying on their resume is our experience. A number of people ARE lying on their resume. we've front-loaded a lot of the "we don't trust your resume" in to the screening process and the first 30-minute screen because so many people list the dogs breakfast on their resume, but really can't do those things. I think a lot of times, someone else on the project team may have hacked on that type of thing and so they list it on their resume. There aren't a lot of good answers -- besides validating those skillsets -- since people can list anything that they want on their resume. I would love for someone to have an accreditation or certification program that was widely used so that we could know someone could do the work and most importantly do the work well since the implementation and the patterns they will be choosing will be with our company for years to come.