1. Anything related to trees 2. Big-O trivia and errata 3. Reinventing the wheel 4. Bit-twiddling operations
Seriously. If I go into your interview and you ask me to reverse a string, and it's not <string>.reverse(), I'm not taking your stupid job. I don't care if you want me to know the tricks for an in-place string reverse with no temporary variables, that just shows that you don't have a clue how to interview.
Good interviewers? The best I've found so far:
1. Ask people to do real-life problems 2. No "gotcha" questions 3. Let people use the environment they'll be using for the job -- this means an IDE, the internet (including stack overflow), and any library they want.
What I want to see when I'm interviewing is whether or not you have the ability to solve a problem. I'm going to look at how you abstract and break down problems, how you solve them, and at what point you say, "I think this is done."
Yes, I expect good engineers to know when to use a tree or a list or set -- but if you're explicitly quizzing for that, you're probably filtering in more terrible developers than you're filtering out.