Cracking the Coding Interview



 is a comprehensive book that covers many major aspects of preparing for the coding interview, including preparation techniques, data structures, algorithm design, complexity analysis, and behavior questions.

Table of Contents

 * 1) Introduction
 * 2) * Table of Contents
 * 3) * Foreword
 * 4) The Interview Process
 * 5) Behind the Scenes
 * 6) Special Situations
 * 7) Before the Interview
 * 8) Behavioral Questions
 * 9) Big O
 * 10) Technical Questions
 * 11) The Offer and Beyond
 * 12) Interview Questions
 * 13) Arrays and Strings
 * 14) Linked Lists
 * 15) Stacks and Queues
 * 16) Trees and Graphs
 * 17) Bit Manipulation
 * 18) Math and Logic Puzzles
 * 19) Object-Oriented Design
 * 20) Recursion and Dynamic Programming
 * 21) System Design and Scalability
 * 22) Sorting and Searching
 * 23) Testing
 * 24) C and C++
 * 25) Java
 * 26) Databases
 * 27) Threads and Locks
 * 28) Moderate
 * 29) Hard
 * 30) Solutions
 * 31) Solutions to Arrays and Strings
 * 32) Solutions to Linked Lists
 * 33) Solutions to Stacks and Queues
 * 34) Solutions to Trees and Graphs
 * 35) Solutions to Bit Manipulation
 * 36) Solutions to Math and Logic Puzzles
 * 37) Solutions to Object-Oriented Design
 * 38) Solutions to Recursion and Dynamic Programming
 * 39) Solutions to System Design and Scalability
 * 40) Solutions to Sorting and Searching
 * 41) Solutions to Testing
 * 42) Solutions to C and C++
 * 43) Solutions to Java
 * 44) Solutions to Databases
 * 45) Solutions to Threads and Locks
 * 46) Solutions to Moderate
 * 47) Solutions to Hard
 * 48) Advanced Topics
 * 49) Code Library
 * 50) Hints
 * 51) Hints for Data Structures
 * 52) Hints for Concepts and Algorithms
 * 53) Hints for Knowledge-Based Questions
 * 54) Hints for Additional Review Problems
 * 55) About the Author