Review on Cracking the coding interview by Gayle L.M

An outstanding book by Gayle Laakmann McDowell.

Gayle has a strong background in software development. She has worked as a software engineer at Google, Microsoft, Apple. She is an author of three books (Cracking the Coding Interview, Cracking the PM Interview, Cracking the Tech Career) and is now the founder of CareerCup

Working for one of the FAANG set of companies is a fantasy. A Dream. But could it become a reality? Your reality!

Cracking the coding interview features nearly 200 programming questions and solutions asked by Amazon, Google, and Facebook… to name a few, and their solutions.It has many of the best question and concepts that are helpful for both beginners and advance programmers. One looking to start preparing from scratch with one who hankers after to brush-up and prepare.

Cracking the Coding Interview is two books in one — broken down into two sections:

The first 90 or so pages go over what to expect during the interview, and how to prepare for it. Then, there are hundreds upon hundreds of pages of coding problems, hints, and solutions.

1. The Interview Process

This section covers most aspects of what to expect during the first interview.

  • Why interviews are structured how they are conducted?
  • How questions are selected?
  • Frequently asked questions

By having a better understanding of the logic behind the interview, you can better prepare for it.

It gives a detailed rundown of what to expect for each company’s recruiting process, how to prepare for these companies and what is unique about their interview.

Timeline for interview preparation

One of the best plans to have and work on.

There’s not a single tech interview in the world that’s not going to ask you to identify the running time complexity of a program, so you better get yourself familiar with it. Whether one is preparing for an interview or not, a programmer must know which algorithm has the lowest run time while writing code — unless he wants his program to lag to the extent that the user has to take a power nap before it responds to an input.

Big-O notation is the language and metric used to describe the efficiency of algorithms. If you get lost in the understanding of Big-O, FAANGs will usually see this a red flag.

Cracking the coding interview gives a detailed explanation of complexities analysis. And there are examples and exercises to help you improve your understanding of Big O.

The Technical Questions : In addition to showing you how to prepare for the technical questions, Cracking the Coding Interview walks you through a sample problem. This section covers best conceivable run time, how to handle incorrect answers, repetitive questions, good coding examples, and more.


To crack the coding interview, you need to prepare with real interview questions. You must practice on real problems and learn their patterns. It’s about developing a fresh algorithm, not memorizing existing

Cracking the Coding Interview has almost 200 explicit and in depth problems, solutions and hints.While they might not be the exact questions that are asked, they cover relevant concepts that are needed to solve the actual questions.

The coding questions are categorizes based on:

  • Data Structures — arrays and strings, linked lists, stacks and queues, trees and graphs
  • Concepts and Algorithms — bit manipulation, math and logic puzzles, object-oriented design, recursion and dynamic programming, system design and scalability, sorting and searching, testing

# There is a wide-ranging section on advanced topics:

  • Useful Math
  • Topological Sort
  • Dijkstra’s Algorithm
  • Hash Table Collision Resolution
  • Rabin-Karp Substring Search
  • AVL Trees
  • Red-Black Trees
  • MapReduce

Cracking the coding interview primarily focuses on algorithm, coding, and design questions. If you’re ready to start interviewing with FAANG companies, Cracking the Coding Interview is worth your time and investment.

My personal pointers to prepare..!


  • Solve lot of problems related to Data Structure and Algorithms.
  • Understand Algorithms.
  • Focus on fundamentals like Hash Maps, Trees.
  • Be a pro-active coder, one who writes code and find bugs.
  • Emphasize the Complexities, many people don’t focus on complexities, It plays a significant role in efficient and effective programming.
  • Do not memorize answers and code, understand the logic behind it and do it yourself.


The must DO’s:

  • Always ask clarifying Questions.
  • Walk-through approaches.
  • Mention Algorithmic Complexity.
  • Code in a modular way.
  • Use right naming convention.
  • Be interested in hints.

The must Dont’s:

  • Staying silent.
  • Incorrect answer with confidence.
  • Under-preparing & over-preparing.
  • Ignoring the hints.
  • Faking a known question
  • Assuming the interview is a devil.


Research- Spend time to understand the job role, also research about the interviewers, company’s roadmap and what are their core principles.

Be Curious- Ask interviewer meaningful question in the “Do you have a question for me ” section. Try to gain something from them.

Team Play- Everyone wants to work with someone with the right attitude. Be humble and collaborative. Don’t fake it. Rather adopt it in your life!

#Lastly there are many books and courses available on the internet that you could use to improve your coding acumen. Whether you’re ready to level up or know someone who wants to take the next step in their coding career, Cracking the Coding Interview is highly recommended.



My post contains affiliate links.

Computer Science Undergrad. We are dreamers with lots of hope, that fire keeps us warm in the cold.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store