I got asked an interesting strstr question: implement strstr using a linked list of linked lists. This is actually quite difficult, and I spent about 70% of the time designing an iterator to walk through the LL of LL's. With the iterator in place, strstr became pretty easy.
The guy interviewing me said that I produced the best answer he's ever seen.
This is actually quite a difficult question, and I've begun to use the first part (design an iterator over a LL of LL's) as one of my standard questions.