Top positive review
19 people found this helpful
More than just technical question examples.
on May 14, 2015
First things first: this book helped me get multiple offers, and I recently accepted a job at a top-name developer.
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.