Cracking the Coding Interview Questions Practicing the Moderate and Hard (plus random questions of note) in the 6th edition of the book.