Cracking the Code Interview — A Review

Ximena Sandoval
4 min readJan 31, 2022
Photo by Syd Wachs on Unsplash

TL;DR

Cracking the Code Interview, by Gayle Laakmann McDowell talks about the process of code interviews, the factors that affect possible outcomes, as well as advice for said interviews.

In this post, I’ll talk about the ideas mentioned in this book, as well as some courses of action we can take starting from today to get better at tech interviews.

The art of interviews

Interviews can be scary, but there are things we can do to make sure we give our best when facing one. Laakmann mentions what the process of recruitment and interviewing looks like in big tech companies, as well as what to expect and what areas should we prepare and practice. They also talk about the special cases that can happen depending on the role we are applying to and the experience we have.

There is also a section for interviewers, which can help us see what the other side of the interview looks like to help us understand better what the interviewer is looking for in a candidate.

The behavioral questions

Behavioral questions play a big role in the tech interviews, they are an indicator of the profile of the candidate, the cultural fit, the communication skills, how they work along with a team, how they approach certain situations, etc.

Laakmann talks about the usual behavioral questions that can be present in the interview and what to be careful of when answering these questions. There are also some methods we can use when telling stories on these kinds of questions, like the Nugget method (tell a little about the story before jumping into it, to give the interviewer the principal topic), or the SAR (Situation, Action, Result) method, which tells us how to structure an answer to limit unnecessary information we include on it.

The author also talks about general advice, like being specific, not arrogant, limiting details (if the interviewer needs more information, they will ask), etc. But most importantly, have your stories prepared beforehand.

The technical questions

Before jumping into answering technical questions, the book gives us a recap of algorithm complexity topics, particularly Big O notation, since it is a crucial factor in technical interviews. Knowing how to obtain the time complexity of an algorithm is a must.

On the technical questions, there is a process we can use to tackle a coding problem/algorithm. Laakmann breaks this process into the following steps:

  • Listen. We need to listen carefully to the statement of the problem, ask questions if necessary, don’t try to assume anything or jump into coding without listening.
  • Example. Take a good example to work with, debug it, make sure is not a special case (these can be tricky) nor is too small.
  • Brute force. The first approach should be brute force, it can be obvious but also a good starting point. From there, start optimizing to find a better, optimal solution. Make sure you’re using all the information given.
  • Walkthrough. Make sure you can walk through your solution in detail and that you understand why it works.
  • Implement. Now, we can start coding (whiteboarding) the solution. Write clean, reusable, modular code.
  • Test. Finally, we the solution, does it cover all cases? special and edge cases too? does it have hot spots?

Remember, it is important to think out loud throughout this process! Let your interviewer know about your train of thought, if you’re drifting from the correct answer, the interviewer can help you only if they know what you are thinking!

After interview

We may think that after the interview the process is over, and we can take a moment to relax, but there are a few steps and actions we need to take care of: the interview aftermath.

  • Did you get an offer but we can’t take it at this moment? Let the interviewer know this, we may want to work with this company in the future.
  • You didn’t get an offer? Rejection is not comfortable, but it is important to learn how to handle it, be polite to the recruiter and learn from the experience.

And of course, did you get an offer and you’re considering it? For this, there are many elements that impact the final decision to take or decline an offer, like the financial package the company offers (Signing bonus, annual bonus, stock options, etc.), career development (Will this role help me grow in my career? Will I learn relevant things?), and of course, the happiness factor (Will work for this company make me happy? The product they are building aligns with my values? The culture makes me feel part of it?).

And finally, there is the negotiation, which can be scary but it is worth it. The offer won’t be revoked if there is negotiation, and we can get extra benefits.

Final thoughts

This book is a great first approach for technical interviews, it helps us get started and practice to perform better, as well as gives us advice and approaches we can use when tackling difficult coding problems.

I recommend this book to anyone that wants to start preparing for coding interviews and also for people who want to sharpen their problem-solving skills since it also has a section dedicated to problems and solutions.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Ximena Sandoval
Ximena Sandoval

Written by Ximena Sandoval

Cloud Platform Engineer at Encora. Currently learning about CI/CD, Kubernetes and watching Studio Ghibli movies✨

No responses yet

Write a response