progrmaming interviews exposed: complete review

Programming Interviews EXPOSED: Complete Book Review for 2024

Programming Interviews Exposed by John Mongan, Noah Kindler, and Eric Giguere just might be one of the best books for programming interview prep.

Now on its fourth edition, it’s helped countless devs prepare for their interviews. And many of them have gone on to work for their favorite tech companies.

This post contains affiliate links. I may receive compensation if you buy something. Read my disclosure for more details.

This got me into Microsoft… No, really. Practicing these problems daily for weeks before my interview refreshed my knowledge and prepared me for my dream job.

Sun of Ra, Customer

TLDR: Programming Interviews Exposed
Programming Interviews Exposed is a programming interview prep book filled with over 50 problems and solutions covering linked lists, recursion, sorting and concurrency.

In addition, you’ll learn about object-oriented programming, design patterns, and databases.

Then you’ll learn about valuable tips and tricks to revamp your resume.

Programming Interviews Exposed

Now let’s see what makes Programming Interviews Exposed a cut above other programming interview books.

Let’s explore each section in greater detail.

1. Before the Search

Instead of randomly applying for jobs, you should have an idea of which programming position you’d like to apply for.

With that comes improving your own skills to ensure companies think you’re the best candidate.

In this section of Programming Interviews Exposed, you’ll learn how to improve upon:

  • self awareness
  • knowing the market
  • developing marketable skills

And being able to accomplish the task at hand.

So in addition to looking good on paper, you’ll learn how to actually solve the company’s problems.

Finally, you’ll learn about why it’s important to manage your online profile to make yourself a more desirable candidate. So you’ll work on improving:

  • Google search results for your name
  • articles and blog posts
  • your LinkedIn profile
  • your GitHub profile

And other social media sites.

2. The Job Application Process

Because they’re similar, programming interviews are predictable. So the more prepared you are, the better you’ll do.

In The Application Process section of Programming Interviews Exposed, you’ll learn about everything from submitting your resume all the way up to starting your new job.

So first you’ll learn about finding and contacting companies. This includes methods like:

  • getting referrals
  • job fairs
  • contacting the company directly

And beyond.

Then you’ll learn about the interview process such as types of interviews and how you should present yourself.

This section also briefly touches upon navigating offers and salary negotiation.

3. The Phone Screen

Now we’ll finally get into some programming problems. In this section, we’ll discover what you can expect in a technical phone interview.

The phone screen is kind of like the interview before the interview. So if you don’t pass the phone screen, you won’t move forward in the interview process.

After learning how to navigate the phone screen such as how to prepare your environment and how to speak, you’ll encounter a few phone screen problems to practice such as:

  • Memory Allocation in C
  • Mobile Programming
  • FizzBuzz
  • Removing Duplicates

And beyond.

Phone Screen sample problem in Programming Interviews Exposed

4. Approaches to Programming Problems

Coding questions are found at the core of the hiring process. They can make or break your interview. How well you do or don’t do can affect things like if you’re hired and what your salary might look like.

These questions typically take 45 minutes to an hour each to solve.

In Programming Interviews Exposed, you’ll learn about what to expect when you’re in the technical portion of the interview.

After learning things like what languages to use and how to interact with interviewers, you’ll learn about how to solve the problems.

This includes things like making sure you understand the problem and what to do if you get stuck.

Then you’ll spend some time on big-O notation and how it works.

Now here is where Programming Interviews Exposed starts to ramp up its problems.

You’ll start to dive into programming problems based on:

  • linked lists
  • trees and graphs
  • arrays and strings
  • recursion
  • sorting
  • concurrency

Each concept has its own chapter. In addition, you’ll work on a series of problems. These problems are similar to ones you’ll find at actual coding interviews.

These problems come with step-by-step, detailed solutions to explain problem-solving methods.

Most solutions are presented in Java and C#.

5. Then you’ll move onto Object-Oriented Programming.

In this section, you’ll work on problems that are dedicated to OOP.

As with other problems in Programming Interviews Exposed, each solution is explained in detail.

6. Design Patterns

Every programming problem is different. However, there are patterns that can be found within these problems. So by learning design patterns, you’ll be able to apply them to, and solve, almost any programming problem.

These design patterns create efficiency and reusability within your code.

Programming Interviews Exposed covers patterns commonly used for solving coding interview problems:

  • Singleton
  • Builder
  • Iterator
  • Observer
  • Decorator

Each pattern is explained in detail. They’re then followed by a series of problems where you can exercise your newly-learned design patterns.

7. Databases

Databases are used for data storage and manipulation of web-based applications. At the coding interview, you may be asked to solve some database problems.

Database Fundamentals in Programming Interviews Exposed

You’ll start by learning about database fundamentals in Programming Interviews Exposed. This includes learning about:

  • relational databases
  • SQL
  • database transactions
  • distributed databases

And beyond.

Then you’ll work through a series of database problems and solutions.

8. Graphics and Bit Manipulation

While they aren’t as common, you still may see some graphics or bit operators problems at the coding interview. This section covers graphics and bit manipulation and includes a series of graphics problems.

9. Data Science, Random Numbers and Statistics

While Programming Interviews Exposed does have a section on data science, it’s by no means comprehensive. Rather, it’s an introduction to data science fundamentals.

It’s more of an introductory section so you can decide if pursuing data science is right for you.

First you’ll learn about:

  • probability and statistics
  • artificial intelligence and machine learning
  • random number generators
  • data science
  • random number and statistics

Then you’ll work on problems related to data science and statistics.

10. Puzzles

In addition to technical and programming problems, interviewers sometimes include brainteasers. These are used to assess your ability to problem-solve, which is crucial to computer programming.

In Programming Interviews Exposed, you’ll work on a series of puzzles related to:

  • counting
  • measuring
  • ordering
  • graphical
  • spacial
Brainteaser problem in Programming Interviews Exposed

11. Knowledge-Based Questions

Knowledge-based questions test your general computer knowledge. In addition, some of these questions are related to your resume or how you solved earlier problems.

Depending on your interviewer, you may answer many of these types of questions. Or you might answer none.

But it’s better to be prepared than to be a sitting duck.

So after learning what to expect, you’ll work through a series of knowledge-based problems.

12. Nontechnical Questions

Nontechnical questions are based on experience, education, goals and more. These can be asked at the beginning of, during, or after your programming interview.

This section contains a detailed selection of questions you can expect to answer based on:

  • salary expectations
  • job transitioning
  • working style

And much more.

Bonus: Resumes

Finally, you’ll go over examples of good and bad resumes in Programming Interviews Exposed.

You’ll look at a series of sample resumes and will then see the pros and cons of each.

Then there are a series of tips and tricks to tailor your resume to the job and transform it into one that will get employers’ attention… in a good way.

🔥 Geena’s Hot Take

Resumes are more important than anything else when applying to jobs.

Your resume is your first impression, your list of accomplishments, your capabilities.

If you have a clunker of a resume, you won’t even be considered for the job, let alone an interview.

Heed the advice in this section and make your resume a cut above the rest.

Programming Interviews Exposed: Conclusion

Programming Interviews Exposed is a solid tool for programming interview preparation.

With over 50 questions, you’ll work on problems related to linked lists, recursion, sorting and beyond.

In addition, you’ll work on OOP, design patterns, nontechnical questions, and your resume.

So if you’re preparing for your programming interview, we think Programming Interviews Exposed is an excellent resource.

Up Next:

  1. Is Programming Interviews Exposed good for interview prep?

    If you’re preparing for a programming interview, we think Programming Interviews Exposed is a good book. With over 50 problems, you’ll work on programming problems ranging from linked lists to recursion, sorting to OOP, design patterns and beyond. Programming Interviews Exposed has helped others get hired at their dream job, and might help you as well.

  2. What’s a phone screen?

    A phone screen is a pre-interview that takes place on the phone to see if you’re a viable applicant. If you pass the phone screen, the next step is typically an in-person interview. Phone screens can be performed by recruiters, hiring managers, or other personnel.

  3. What are some examples of good and bad resumes?

    If you’re looking for examples of programming resumes, we recommend checking out Programming Interviews Exposed. You’ll find examples of good and bad resumes, and learn tips and tricks on how to improve yours. Programming Interviews Exposed also offers other advice when preparing for your programming interview.