Are you just asking these candidates questions that are too specific?
My team asks candidates to solve some relatively simple problems. They don't have much to do with our software. It's just stuff like filtering strings for pairs of characters and some other stuff. It helps us to evaluate if someone can write code to solve a problem.
If they can, we will ask them more specific questions. Now, i'm a graphics programmer. I work with open gl and 3d stuff. I'll often ask, "Given a triangle with points A,B, and C, how would you find the normal?" I realize this community is going to contain lots of people who find that question laughably simplistic. it's not even a programming question (though neither is describing key pairs). I'm just looking for them to say "cross product". . nobody in 3 years has ever known.
the purpose of the question though isn't to shoot someone down. it's more like extra credit. I'm curious if they know anything about geometry, but we've hired plenty of guys who can't answer my questions. they have learned, and i was confident they could because they did well on the general questions.