If you pay less than 75% percentile for programmer job, you can't expect too much.
Occupational Employment and Wages, May 2014
15-1131 Computer Programmers
Also you need to be aware of self bias when interviewing. You ask him things YOU think are simple, and are shocked when they don't know it. Of course the only sane way to do A singleton object in Java is to do a double checked lock with a volatile keyword, it says so right in "java concurrency in practice!"... But if a candidate has never needed to write a hand rolled singleton (say always worked in Spring), meh.. I bet they know things that you don't know. Ask a candidate you reject as dumb to ask you 10 hard questions he can prove he knows the answers to, and see how many you get right. If he stumps you on all 10, then you just proved that you each know things the other does not, which may mean you would be a good team working together ;)
P.S. I know how DB indexes work because I find it interesting. Does that actually help me? So far I have never used that knowledge, but hey - I sound cool in interviews!
No I ask him things that He wrote in his resume He is expert of, One need to understand,Process of interview is not riddle game, or I am not going to play role as Brain magician who would through questions to candidates just for fun.All I am expecting from a candidate is if you are presenting yourself as an expert of field, be prepared to answer 'what' and 'how' of it.