One proposed open-ended interview question in particular (these recruiters utilize both coding exercises & open-ended questions, plus some other stuff), "What's the difference between the stack and the heap?" was shot down for a number of reasons - colloquially, these refer to two different pools of memory wherein variables can be allocated. But stacks and heaps are also specific data structures, so there's some ambiguity. Most importantly, it's surprisingly difficult to answer that with anything that's 100% correct (e.g. "the stack is for variables with known lifetimes, whereas the heap is for those with unknown lifetimes" is really just a convention, and there are plenty of exceptions w.r.t. data structures of size that isn't compile-time constant, or dealing with polymorphism in certain languages). And since the question is rooted in fact, vs something that's intended to be debatable, lots of people won't throw forward the thoughts they have that are only 80% correct - they effectively freeze.
Should programmers in interviews know that?
I know it sounds silly because it's written clearly here, but in a spoken interview it's possible an interviewee can miss a detail and suddenly think they're faced with travelling salesmen. Or are worried about I/O
Of course in those situations, the "right" thing to do is ask for clarification, or think out loud. And an interviewer should make sure the interviewee is solving the right question (in the real world, people help each other).