The problems from "Cracking the Coding Interview, 5th Edition" is so useful, even if you are not going to a coding interview.