Good Book to Help Software Engineers Prepare for Interviews

Most interviews for software engineers these days include a technical evaluation. Companies often used to hire developers based on the resume and some questions about their tech background, but no more. It’s very common to have whiteboard coding exercises, take-home programming problems, and the like.

Some programmers sail right through these tests, while others fail. Still others are in between, and can benefit from some preparation. But how best to prepare?

One of the better resources I’ve found is Gayle Laakmaan McDowell’s book, “Cracking the Coding Interview.” You can get it on Amazon here. I don’t have any connection to her, nor do I get anything if you buy it from that link, but overall this is a book that I recommend to any software engineer. It’s got lots of details about how top software companies interview candidates. Also, there are lots of practice exercises covering all aspects of programming and computer science.

Here’s a little blurb about what you can expect:

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.