Some practice interview questions

Somebody in the comments asked for some practice interview questions for a development position. So here are some general practice interview questions for an entry-level development job in a C/C++ oriented group:
1. Basically any C-style string function is fair game. strlen, Strcpy, strchr, etc. You should be able to nail these if you're interviewing with a team that writes in C/C++. You can convert these into C# questions if you treat C-style strings as a System.Array.
2. Implementing any common data-structure (hash-tables, singly-linked, doubly-linked lists, trees). You shouldn't need to memorize implementations. Instead, you should understand the data-structures enough that you can come up with an implementation on the fly.
3. Ability to compare random things. The key here is not to memorize everything; but instead to fundamentally understand things and be able to think on your feet. In other words, rather than memorize a proof, be able to rederive it. For example: compare compile-time type-checking vs. runtime-type checking.  Compare a hash-table to a linked-list. Compare two languages.
4. Ability to comment on a solution. What's good, what's bad?
5. Explain how various things could work?    For example, how could polymorphism work? In other words, how would you translate a C++ program into C?  What would it look like if you translated a C# program into C? How could you translate C++ exceptions into C code?
6. How would you test something? For example, how would you test the various collection classes.   What's a hard bug you could imagine finding in a collection class; and how would you create a test plan that would find it?