Coding Interview Ninja: 50 coding questions with Java solutions to practice for your coding interview.
Coding Puzzles, 2nd edition: Thinking in code
Coding Puzzles: Thinking in code
A Collection of Dynamic Programming Interview Questions Solved in C++