"Good" and "tricky" are about as opposite as it gets when it comes to interview questions. The goal when interviewing programmers isn't to figure out who happened to read about this really weird thing that happens in this one weird edge case 0.01% of the time on PHP version X.Y.Z - the goal is to find people who can competently write useful software.
What you want are questions that both allow and encourage the interviewee to talk through their thoughts - questions that are open-ended enough that it's not just a "here's the answer in three words, what next?" but at the same time give enough direction that you don't just get a noncommittal answer.
These kind of questions allow you to actually get a feel for whether this is someone you'd trust writing code with, as opposed to someone who knows some trivia but either wouldn't get along well with your team's development style, or just couldn't keep up (in productivity or quality) in the first place.