Cracking the Coding Interview: 150 Programming Questions and Solutions 5th Revised & enlarged Edition
Use the Amazon App to scan ISBNs and compare prices.
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Customers who bought this item also bought
Customers who viewed this item also viewed
From the Author
I also know because I've been on the other side of the table, asking candidates to do this. I've combed through stacks of resumes to find the engineers who I thought might be able to actually pass these interviews. And I've debated in Google's Hiring Committee whether or not a candidate did well enough to merit an offer. I understand and have experienced the full hiring circle.
And you, reader, are probably preparing for an interview, perhaps tomorrow, next week, or next year. You likely have or are working towards a Computer Science or related degree. I am not here to re-teach you the basics of what a binary search tree is, or how to traverse a linked list. You already know such things, and if not, there are plenty of other resources to learn them.
This book is here to help you take your understanding of Computer Science fundamentals to the next level, to help you apply those fundamentals to crack the coding interview. Because while the fundamentals are necessary to land one of the top jobs, they aren't always enough. For countless readers, this book has been just what they needed.
About the Author
Of these top companies, she has worked for Microsoft, Apple and Google, where she gained deep insight into each company's hiring practices.
Most recently, Gayle spent three years at Google as a Software Engineer and was one of the company's lead interviewers. She interviewed over 120 candidates in the U.S. and abroad, and, as a software engineer, led much of the recruiting for her alma mater, the University of Pennsylvania.
Additionally, she served on Google's Hiring Committee, where she reviewed each candidate's feedback and made hire / no-hire decisions. She assessed over 700 candidates in that role, and evaluated hundreds more resumes.
Gayle holds a bachelor's and master's degree in Computer Science from the University of Pennsylvania and MBA from The Wharton School.
There was a problem filtering reviews right now. Please try again later.
My education is in computer science, and I have been writing software for about 10 years, but that's not enough for interviews these days. They will grill you repeatedly with varied problems, and see how you handle the pressure. I picked up this book mid-way through my interview process for a handful of software jobs. While I am confident in my ability to interview well from a personality perspective, the technical parts of the interview have always stressed me out, and frankly, I'd gotten a little cynical about the whole process.
The problems in the book are cool, but you can find plenty of problems for free online. It's really everything *around* the problems in this book that make it great. The book starts by explaining the "why" of technical interviews, the peripheral stuff, such as how to dress, how to practice for non-technical questions, how to break down problems, how to write good code, and how to respond to rejection and acceptance. Then it breaks down technical problems into a series of categories, such various data structures (arrays, trees/graphs, linked lists, etc), object oriented design, and mathematics and probability.
What helped me more than anything, though, was the breakdown of the "why" of technical problems. In one of my successful interviews, I was presented two purely mathematical physics problems. In both cases, I knew generally how the solution would work, but in one case, I couldn't remember the formula, and in the other I knew the principle of the algorithm, but not the execution. In both cases, the first thing I did was confidently look at my interviewers and say "I'm going to need some help with this one." Then I proceeded to work through the problem with their help and hints, exhibiting collaboration and courtesy. This book helped me get to that point of not freaking out when I know I don't know the solution--it's not just about answering correctly, it's about how you work through road blocks, confusion, walls, and frustration.
This one is Great, has many many good pointers for going in to relatively any kind of technical, managerial, or leadership position.
Good review of the Algorithms, and good to know what the companies are looking for & expecting you to know...
Except for maybe the guidance on being able to write a complete complex program, without any errors, (logic or syntax) and it being able to run the first time, perfectly... I've been doing software 15 years, and another 20 years in the military in High Tech Avionics... Her one expectation there is rather ridiculous, to say the least....
That would be synonymous with asking a test pilot to demonstrate how to take off or land his aircraft safely, without consulting the checklist....
The nice thing is that, I feel pretty confident I can take on some more challenging questions after going through this book. I just need to work on being calm during the interview and I'll be fine. Definitely a must have.
The key to this book isn't memorization of the solutions to the problems, but the WAY to solve the problems and how to think about them.
I highly suggest this book (it has newer editions, so look at those) for anyone who wants to improve how they approach and solve problems. Absolutely worth it.
Top international reviews
A lot of this can be found online, and lots of places let you practice with real example questions - but still nice to have (either to read on the train, or just to flick through) - I generally found it helpful for my prep for Google interviews, and generally found the content and style re-assuring given the number of horror stories about these big tech interviews.