Cracking The Coding Interview by Gayle Laakmann McDowell