Cracking the Coding Interview by Gayle Laakmann Mcdowell (189 programming questions & solutions) 712 pages