I am not a recruiter. I am a software engineer. And as such, I know what it's like to be asked to whip up brilliant algorithms on the spot and then write flawless code on a whiteboard. I've been through this as a candidate and as an interviewer.
Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and enabling you to perform at your very best. I've coached and interviewed hundreds of software engineers. The result is this book.
Learn how to uncover the hints and hidden details in a question, discover how to break down a problem into manageable chunks, develop techniques to unstick yourself when stuck, learn (or re-learn) core computer science concepts, and practice on 189 interview questions and solutions.
These interview questions are real; they are not pulled out of computer science textbooks. They reflect what's truly being asked at the top companies, so that you can be as prepared as possible. WHAT'S INSIDE? 189 programming interview questions, ranging from the basics to the trickiest algorithm problems. A walk-through of how to derive each solution, so that you can learn how to get there yourself. Hints on how to solve each of the 189 questions, just like what you would get in a real interview. Five proven strategies to tackle algorithm questions, so that you can solve questions you haven't seen. Extensive coverage of essential topics, such as big O time, data structures, and core algorithms. A behind the scenesĀ look at how top companies like Google and Facebook hire developers. Techniques to prepare for and ace the soft side of the interview: behavioral questions. For interviewers and companies: details on what makes a good interview question and hiring process.
Author(s): Gayle Laakmann McDowell
Edition: 6ed.
Publisher: CareerCup
Year: 2015
Language: English
Pages: 708
Introduction
Table of Contents
Foreword
I. The Interview Process
II. Behind the Scenes
III. Special Situations
IV. Before the Interview
V. Behavioral Questions
VI. Big O
VII. Technical Questions
VIII. The Offer and Beyond
IX. Interview Questions
1. Arrays and Strings
2. Linked Lists
3. Stacks and Queues
4. Trees and Graphs
5. Bit Manipulation
6. Math and Logic Puzzles
7. Object-Oriented Design
8. Recursion and Dynamic Programming
9. System Design and Scalability
10. Sorting and Searching
11. Testing
12. C and C++
13. Java
14. Databases
15. Threads and Locks
16. Moderate
17. Hard
X. Solutions
1. Solutions to Arrays and Strings
2. Solutions to Linked Lists
3. Solutions to Stacks and Queues
4. Solutions to Trees and Graphs
5. Solutions to Bit Manipulation
6. Solutions to Math and Logic Puzzles
7. Solutions to Object-Oriented Design
8. Solutions to Recursion and Dynamic Programming
9. Solutions to System Design and Scalability
10. Solutions to Sorting and Searching
11. Solutions to Testing
12. Solutions to C and C++
13. Solutions to Java
14. Solution to Databases
15. Solutions to Threads and Locks
16. Solutions to Moderate
17. Solutions to Hard
XI. Advanced Topics
XII. Code Library
XIII. Hints
I. Hints for Data Structures
II. Hints for Concepts and Algorithms
III. Hints for Knowledge-Based Questions
IV. Hints for Additional Review Problems
XIV. About the Author