Also, for trivial algorithms and data structures, mind blanking is a potentially bad sign. Like, if you cannot explain the idea of garbage collection (not necessarily implementation details), then I gotta question your understanding of your environment.
* edit: please stop asking people to pay you to write software. Keep writing software on your own until such elementary ideas such as linked lists and binary trees are core to your understanding, then apply again.
Maybe the problems your companies have worked on did. That's fine. Don't go telling people to "stop asking people to pay you to write software" just because they don't know how to use or write a binary tree, though.
I agree with you that I wouldn't hire someone who doesn't understand linked lists, but I still think your statement is too harsh for that situation as well.
"Good question, while I think about that, can I give you an interesting brain-teaser from my last interview?"
Figuring out if the tech lead who'll manage you is a jerk is a major task in being interviewed.