Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and empowering you to give your best. I have educated and interviewed hundreds of software engineers. The result is this book.
Learn how to uncover the hidden tricks and details of a question, learn how to break a problem down into manageable chunks, develop techniques to free yourself when you get stuck, learn (or relearn) computer basics, and practice. questions and solutions.
These interview questions are real; they are not taken from computer textbooks. They reflect what's really in demand in the best companies, so you can be as prepared as possible. WHAT'S INSIDE?
189 programming interview questions, ranging from the basics to the most delicate algorithm problems. An overview of how to derive each solution, so you can learn how to do it yourself. Tips on how to solve each of the 189 questions, just like what you'd get in a real interview. Five proven strategies for dealing with algorithm questions, so you can solve questions you've never seen. Extensive coverage of essential topics, such as big O time, data structures and basic algorithms. A behind-the-scenes look at how top companies like Google and Facebook hire developers. Techniques for Preparing and Succeeding on the Soft Side of the Interview: Behavioral Questions. For Interviewers and Companies: Details on what makes a good interview application and hiring process good.
Gayle Laakmann McDowell
Gayle Laakman McDowell is an author and founder focusing on improving technology hiring for both the interviewer AND the candidate. Gaye has worked as an engineer at Google, Microsoft, and apple. Most recently, at google, she served on the interviewing committee where she interviewed hundreds and reviewed thousands more. It was there that she discovered the disconnect betweeen candidates, their skillset, and their interview performance, though her company Career Cup, Gayle has worked across many of the top tech firms to reform their hiring practices. She is the author and co-creator of the best selling Cracking the Interview and Career Series: Cracking the CTO Interview, Cracking the Technical Interview, Cracking the Product Manager Interview, and Cracking the Tech Interview.
Cracking the Coding Interview PDF
Gayle Laakmann McDowell is the founder and CEO of CareerCup and the author of Cracking the PM Interview and Cracking the Tech Career.
Her background is in software development. You have worked as a software engineer at Google, Microsoft and Apple. At Google, she interviewed hundreds of software engineers and evaluated thousands of hiring files on the hiring committee. You have a B.S.E. and M.S.E. in Computer Science from the University of Pennsylvania and an MBA from the Wharton School.
She now consults with tech companies to improve their hiring process and startups to prepare them for acquisition interviews.
Cracking the Coding Interview book reviews
Review by LALA
The book is very popular among programmers who are new to Java. However, it is not recommended for beginners. The author explains complex concepts without providing adequate examples. Moreover, the book does not provide any practical guidance on how to solve problems.
Review by ellbro
While this is a fantastic source, there's so much info, that you can't just read it an think you're good. You have to study it. Try the problems found at the end of each chapter and often times find additional resources online. If you're willing tp put the work in, then you'll get loads out! Good luck
Review by Amazon Customer
I'm 10 years out of college & needed to brush up on my DSA for a senior engineering technical interview. I liked the book's organization and structure so I could quickly find what I needed to focus on & study. The book helped prepare me well & provided great tips for how to approach problem sets. I got the job!!
Review by PHoben
I've rated this as a three star because I found the book to be lacking in depth. While the author does an admirable job in presenting his ideas clearly, he doesn't provide enough background information to really understand what he's talking about. His writing style is also very dry and not particularly engaging. I could see myself reading this book cover to cover if I had a lot of spare time on my hands, but otherwise I wouldn't recommend it.
Review by Elena
I'm not really into programming languages and algorithms, but I've spent quite some time reading about them. And I can say that I learned a lot of things from this book. First of all, it's an excellent introduction to data structure and algorithm concepts. I had no idea what was meant by "bit manipulation" until I read about it in this book. Second, it provides great examples of common interview questions. Third, it teaches you how to approach problems. For example, it shows you how to think about the problem instead of just trying to memorize solutions. Fourth, it gives you a sense of accomplishment after solving a problem. Finally, it's very easy to understand and follow along.
I'm sure it's a good book. However, one might think that a software book has the language it focuses on readily available. It is not. I had to do some research to figure it out ... after I bought it. Very boring. FYI, it's in Java. If you are not a Java developer, it makes no sense until you decide to learn Java. And at that point, you're probably working and don't need an interview prep book. PUT THE LANGUAGE ON THE HOME PAGE
Here in Silicon Valley, EVERYONE seems to know this book. Everyone who comes here from India and China seems to know this too. I am from Europe and had never heard of it. So I bought it. I read it. And I did some of the many exercises. Did I learn anything? Not really. Okay for maintenance training? Absolutely yes.
Proven: Nobody cares about your quality when interviewing big tech companies. Your real skills for the future job and the interview process have next to nothing in common. Everyone at Main Tech is observing how well you studied this book. I find it horrible, but if you want to get a job like that, this book is a must. The book itself is good if you just want to cover / update a list of IT topics.
This is the most useful book I have ever read on the technical job interview process. Clearly the author is very familiar with the process and my interview with one of the companies mentioned worked more or less exactly as described in the book. I highly recommend this book to anyone looking for a job at large tech companies.
This book works as a study guide. It is NOT a panacea. There is no real cracking or hacking of the process here, it just prepares you for what to expect and prepares you for the process. It's actually a huge thing - you're already nervous when you walk in and knowing what might be thrown at you will make it easier for you when it does.
There are a few drawbacks. The book is in its sixth edition and can be a bumpy read, you can probably identify the revisions by watching where the tone and style change. He could also use a section on how to use it and how the book is organized. At first glance, it's a frighteningly sized book, but much of the book has solutions to previous questions in the book, but it seems to skip over. Usually the solutions to problems are at the end of the book, but here they are in the middle. This brings me to the last problem I had: this book is BIG at almost 700 pages. A Kindle version would be extremely useful, so it's not a book you can read casually, which is a shame.
All in all it is definitely worth working on and I would highly recommend it to anyone looking for this high tech job.
It is Silicon Valley's most famous book and all interviewers and interviewees know it inside and outside of this book. He has helped a lot of people I know find good jobs. But if you are new to Java and only know Python, this book is unfortunately unnecessary. All talking points and examples are on Java. There is little or no mention of other programming languages. The online material will help you more if you are new to Java. Because it will double or triple your preparation to work with this book as a non-Java developer. Another way to enjoy this book is to learn Java first and read this book. But I wish there was also an identical book for Python developers.
UPDATE: Book finished. Not worth the purchase, I do not recommend it. There is a lot of FREE stuff on the internet. In addition, this book contains an impressive number of errors and omissions in its solutions that could lead someone to learn or assume something "wrong". The same could be said of internet content, but you have to suspect something from the web and not something they bought from a "professional" author.
I had to decipher the coding interview mainly to "get into the interview". After reading about a third of the book, I'm a little frustrated. First of all, like any programming book, there are errors and omissions, but this book has a lot of them. Second, a disturbing number of "solutions" are definitely outdated in terms of lines of code and readability. Performance-related arguments could be made, but many are convoluted mixes just to exist in academia. If tilted when done I might update this review, but so far I have a feeling this book is a hype that plays on the emotions of the interviewee who has sort of become a benchmark for the interviewee. industry ("the green book") for irrational expectations of the talks.
The book is fine, but I agree with a lot of the reviews. This is just not a good way to test ppl eng software. The book does not reflect the actual skills that the average developer should know. Someone good at solving riddles, puzzles isn't necessarily good at programming and solving real world problems and developing real world software. I agree that asking someone q about algorithms and data structures is a fair game, but the bit shift? Ridiculous! even if you've been a developer for over 20 years, you might not have had to do this once in your career. Unless you're a programmer in the 70s or 80s dealing with pure C programming and Machine Lang or Assembler, I doubt you made any changes.
If you are like me and you are also a computer expert because you are passionate about avoiding homelessness and putting food on the table.
When it comes to planning interview prep books, this is currently the most popular of the bunch. That's okay, as you'll find practice materials for whiteboard interviews that are prevalent at large tech companies. But let's be honest: the whole ecosystem is toxic. Here's a lady who worked at Google for a few years (that's right - she worked for * a * few * years, and only worked at the other big names she mentioned), and turned that rather limited work experience into a whole lifestyle company.