Learn more Shop now Learn more Shop now Shop now Shop now Learn More Shop now Shop now Learn more Shop Fire Shop Kindle Learn More Learn more Fitbit

There was a problem filtering reviews right now. Please try again later.

on 7 May 2017
Most big tech cos (at least here in London - e.g. Google, Facebook etc) require whiteboard coding and problem solving, and this is a very easy to read guide to help you prepare for what to expect. Easy to both flick through, or just pick up and glance over - as well as work through systematically.

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.
0Comment|Was this review helpful to you?YesNoReport abuse
on 11 October 2012
Let me start by saying that this book is not for everyone. It is a book for Computer engineers.

This book won't get you a job in Google or Amazon if you are not a good engineer, but if you are a good one this book will help you focus on the areas that really need your attention when facing an interview.

Don't read this book from cover to cover. Do all the exercise on a whiteboard, in different languages, think about the solutions, and check other sources. I guarantee you will end up being a much better engineer.

I absolutely love this book, and keep going back to it.
0Comment| 5 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 21 February 2014
After working for one employer for a number of years I found myself looking for a new job when my contract ran out. I for one benefited greatly from the section on data structures and algorithms. I thought I knew what a hash map was, but when this book suggested I implement one, it was the first time I really thought about what a hashcode meant. I think if you consider yourself an "expert" you will find it too easy, but for most people of "intermediate" ability, its a great refresher. Clearly you need to read other material to revise your skills in addition to this, but I think it covers gaps you won't think about otherwise.
0Comment| 4 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 18 July 2013
The book is very well written and exposes all the basic key points of a good technical interview preparation process. Moreover, the book is stuffed with common interview problems that are to be fully understood by candidates as similar problems might be presented in their next interview. If you're preparing for an interview, this book will help you understand what knowledge you're lacking and how to train for whiteboard problem solving exercise that are fairly common in technical interview, especially with big companies such as Google, Amazon, Apple, Microsoft, etc.
0Comment| 2 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 16 August 2015
This book is just contains an unacceptably large number of problems - errors in the solutions (code and descriptions, sometimes both in the same exercise!), sometimes plain poorly written code, bad/missing assumptions and more. I noticed that the 5th Edition has a dedicated Errata spreadsheet online. Seriously, a spreadsheet and not a cloud issue tracker! Doesn't that tell you something - hell, I learnt not to conflate spreadsheets and databases in the 80s.

It actually confirms everything I've concluded about coding interviews in principle (from experience on both sides of the table) - they're ineffective, artificial, badly designed and myopic. Of the many variables that go into making a good software developer hire, coding interviews ignore almost all of them and create a false sense of effectiveness. Coding tests are great at filtering through people who are good at taking coding tests - that's all; they don't filter out the crazies, the lazies, the sloppies, the messies, the academics, the unwise and so on. When you want to hire an accountant, do you give them an accountancy test? Would you test someone who's been in the industry for decades on material that they only have encountered decades ago? Does that mean that they couldn't utilize that material in a normal context (not under a timer with potential employers literally breathing down your neck)? Would you really not look-up a breadth-first search algorithm online in real-life, rather expecting to do it from memory?

I blame Microsoft for this disease that infected the software engineering industry - in the 90s, their bureaucracy created bad ideas and the industry adopted them on the basis that the amount of $$$ they were making must imply the ideas are good. Of course, common sense dictates their profitability came from their first mover advantage, predatory business practices and monopoly position, and we now know that for decades they've been an astoundingly dysfunctional bureaucracy, which explains the need for this type of book to this day.

There are other types of test that are more sensible and they're designed around the idea of "do you understand this code", not "can you write this code". There are issues with those tests too, as they can focus on ridiculously obscure aspects of languages that any developer with decent practices would avoid almost completely (and are often because of the poor design of the language itself - C++, I'm looking at you). I would use the word 'myopic' again - not only the obscurity but consider 'languages' - it's more important to test knowledge, understanding and adoption of good principles. Also, in some contexts the language is less important than the platform or the frameworks. To me, software engineering is a craft, not a science.

In my experience, the only variables that correlate to performance are the strength of the references (do this first before any interviews to avoid confirmation biases) and past projects (code samples, being able to discuss them in depth). Hammer away at these to get to a sense of the truth. Trial periods with dedicated tasks is an excellent approach, too.

The irony of this book is that it indicates the author would be a bad hire - the number of errors and issues is such that it displays a lack of dogfooding, poor testing, would waste company $$ on pointless exercises, shows lack of thoughtfulness into the subject matter and requires numerous editions to get it to a state that's still problematic. Still, if you want that job and need to dance the corporate dance, this book is as good a guide as any.
22 Comments| 8 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 16 September 2016
This is a great book that I'd strongly recommend, just be aware that Yahoo! now has a different approach to interviewing. When I had my interview with them I was given the following problem to solve:

"You have a perfectly good email system with a simple, intuitive, rock-solid GUI that works every time. How could you go about altering this so that it's fussy, difficult to use and so unreliable that it randomly crashes, randomly loses email, and most times the user attempts to access it they're faced with a long, infuriating period of inactivity before finally being asked whether or not they'd like to load the old version, which actually works?"

This really threw me and I panicked. That part of the interview is mostly a blur as my mind raced trying to think of an answer, but I do vaguely remember mentioning something about chimpanzees high on crack cocaine coding in a made-up language whilst simultaneously trying to follow a Virginia Woolf audiobook, and something about a group of hipsters urinating onto some servers that had been dual-purposed as a beehive. Whatever I said, it worked, because the next thing I remember is the interview panel all smiling at me and looking at each other excitedly. I was offered the role 15 minutes later but, after giving it some consideration, decided to pursue a career in the chocolate teapot manufacturing industry instead.
0Comment|Was this review helpful to you?YesNoReport abuse
on 25 January 2012
Cracking the coding interview is one book you should definitively have in your bookshelf, and you should keep reading it now and then.

I have a passion for reading and solving coding interview questions and never found such a detailed source of information.

The book starts with several suggestions on how preparing yourself for an interview. This is an aspect that many people underestimate, whilst having a well-written CV, a personal blog, and possibly a number of open source projects is definitively important. This book gives you a number of good suggestions.

Then there is long part discussing interview questions with a broad coverage of basic data structures, algorithms, programming languages, databases and threads and some advanced coding questions.

The style is concise and you can read each Chapter in isolation. Gayle made an amazing job in illustrating not just the solutions, but several techniques that you can use for solving new problems. Plus, those interview questions, the solutions and the techniques, are not just hypothetical but are very useful in your day by day life as Dev or Researcher.

I would suggest the author splitting the Chapter 7 "Mathematics and Probability" into two separate parts and expand both of them because they are very important during interviews and the current description is probably too synthetic. Also, a Chapter on String algorithms and another one on Parallel programming would be probably useful to have because people will look for them elsewhere.

Having said that, this is definitively a must have book and the money you spend will definitively generate a great return on the investment.

Thanks Gayle for writing it.
0Comment| 4 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 22 January 2013
This is a great interview preparation book. It got my rusty coding skills up to speed with the requirements of major silicon valley firms. Using it as one of my major resources while preparing for interviews I managed to get multiple full-time software engineering offers fresh out of grad school.

That said, don't expect to read the book in a week or two and ace every interview. You need to spend time on it, preferably way in advance of your interviews. Ideally, you have to have all the problems presented in your "cache" so that you can easily approach more tricky problems on the spot. Even if you only have a week to prepare, still buy this book---there is no single resource out there that is better.

The book however needs improvement.
-There are typos and minor errors. For a 5th version of a book this is bad.

-Some answers to the book's problems lack even a basic complexity analysis. While I understand that it is not possible to explain the algorithmic complexity of some solutions without sounding like CLRS, the author should at least say that an analysis is not simple and/or give a pointer to another book.

-The worst part of the book is that some answers are not well-explained. This can be improved by just spending more time editing the book. I expect to be able to understand the important ideas/steps behind a solution by just reading the text and not the code. Unfortunately, this is not always the case creating subtle surprises. My favourite example is in page 369 of the book regarding the diagonal of the array. The intro text makes you think that you fully understand the solution ("do that, then compare that with that, recurse, and you are done"). Unless, however, you read a comment in the source code of the solution provided (i.e. "do a binary search in the diagonal..."), you 'd be missing a VERY important detail. If afterwards you get asked this question in an interview without having spent time on the comment, you will fail miserably.
0Comment| 5 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 20 January 2014
Received this book for Christmas as a gift (currently studying for an MSc Computer Science), and in the near future will be seeking software development positions.

I haven't read through the entire book, but the author has first-hand experience interviewing candidates, and from what I've read so far, seems to have a full grasp of the calibre recruiters seek in programmers at interview.

There is a comprehensive list of interview questions across several sub-domains of software development (OOP, Data Structures, Algorithms) and seek to get you to the best of your ability prior to job interviews.

There is also a really useful accompanying website (CareerCup.com) with tons of interview questions from all the major technical recruiters worldwide, which the author produced herself. She is really passionate helping people nurture their technical skills.

I'll update this review once I've read more of it; but if in doubt whether to buy it - do so. You won't regret it.
0Comment| 2 people found this helpful. Was this review helpful to you?YesNoReport abuse
on 22 May 2012
When I casually mentioned to a friend that I was interviewing for a software engineering position at XXXX, he suggested having a look at Gayle's book.

My first impression was that it was a little overkill for an interview preparation, but on flipping through the book, I realized there was quite a lot of material from my Computer Science undergraduate degree that wasn't so fresh in my mind a decade after graduation. This book does a phenomenal job of refreshing all the core CS concepts that you would need for an interview at one of these big software firms. The writing style is fresh, smart, concise, and dead accurate. Gayle gives you just enough detail get started on the exercises (or to go out and dig deeper on your own), and the sample problems are really well written -- just the style you might get in a 1 hour coding interview. The breakdown of topics is logical and makes it easy to tackle the book section-by-section without feeling overwhelmed. Even if you are god's gift to computer programming, the "soft" sections at the beginning of the book give insight into why there's more to getting hired than just writing code on a whiteboard.

Even if you don't take mine or the other reviewers' word for it, just do a quick search for the author and look at her experience. She's worked as an engineer at Microsoft, Apple, and Google (where she participated on hiring committees). Having been through so many of these interviews and helped administer them, she might be the most qualified person in the world to write a book like this.

This isn't some cheap promise to magically get you hired at a big tech company just by turning a few pages. It is a beautifully-written companion that will guide you as you _work_ to refresh and hone your skills so you can be on the top of your game for the big day(s). I can not recommend this book highly enough to anyone interviewing for software engineering jobs.
0Comment| 7 people found this helpful. Was this review helpful to you?YesNoReport abuse

Sponsored Links

  (What is this?)