In engineering fields it can be quite difficult to come up with good, consistent questions that enable an interviewer to consistently get a good overview of what a candidate is capable of. Unfortunately, in these fields, recruiters are very desperate to get placements because it can be quite lucrative, and so they do whatever they can to give their candidates an edge - including quizzing them on the questions that they were asked so that they can prime their candidates for success at answering the questions. The end result is that our questions become useless, as if a candidate already knows the answer (or has a chance to research it ahead of time) we can't get any data about their actual ability to solve problems themselves.
Short of having to come up with new questions for every candidate (bad because it increases the interviewing workload and makes it difficult to make objective comparisons) or asking HR to bar candidates who come from these bad recruiters (they are unwilling to do that), how can we avoid having recruiters "poisoning the well" in this way?
EDITED TO ADD: The questions we ask are not simple "memorization" or "trivia" questions. They are problem-solving and high-level systems design. However, this question still applies to fields where memorization/trivia questions are an important part of the screening process, and the nature of the problem itself is not the part of this situation that needs to be changed in any case.
Also, the recruiting firms are hired by us to find candidates - we're the ones paying their hiring bonus, not the candidates. Thus, they really should not be sending us low-quality candidates that they have prepped to seem like high-quality candidates.