6 Best Books for Coding Interview in Java : Must Read

Coding interview is a tough nut to crack especially if it is for companies like Apple, Google, Facebook, Microsoft. If your dream to get into these companies then you need to choose right kind of books for preparation. I am sharing the best books for coding interview aka technical interview. You do not need to go through all of the books. You can choose books according to the difficulty level of the coding interview.

Read Also :  Best Books For Learning Java

Best Books for Coding/Technical Interview

I have discussed with my friends who made it into the top companies. The first question I asked to them was which books they choose for preparation. After asking a dozen of friends , reading online reviews and personally going through most of the below mentioned books, now, I am recommending them to you.

1. Cracking the Coding Interview

cracking the coding interviewIf you want to use only one book , this is enough.
This book was first released in 2008.After hitting the shelves, sales took off immediately and become one of the bestsellers in its domain. It is now in sixth edition.

There are 189 programming interview questions ranging from the basics to the trickiest algorithm questions. Hints on how to solve each of the 189 questions, just like what you would get in a real interview.
It also teaches you how to do well at coding interviews.
There might be a possibility that you might get these questions in your own interviews since Gayle(author) is choosing questions that are popular among interviewers today.

This book also has one dedicated chapter to system design questions with solutions which will be sufficient to tackle system design interview questions.

This book is written by Gayle laakmann mcdowell. She is not a recruiter but a software engineer. She had worked in Google, Apple and Microsoft.

2. Data Structures and Algorithms Made Easy in Java

Data structures and algorithms made easy in javaData Structures and Algorithms made easy is a good starter book especially for people from non computer science background.If you are a computer science grad, then you might like it even more.This book is a good compilation of algorithmic questions for technical interviews. Chapters are well organized. It contains the chapters like LinkedLists, Queues and Trees which are ok. It helps build concept and confidence as it's very hands-on.This book is comprehensive and simple.

The other good thing about this book is that there are multiple solutions provided for each problem with different level of space and time complexities.

One little annoying thing, there are some typos in the book for java coding.

3. Elements of Programming Interviews in Java : The Insiders Guide

elements of programming interviews in javaElements of programming interviews in java is a book not for beginners. It assumes you have knowledge of basics. The style of the book is good. The name of the variables,methods etc. are easy to understand and you can co-relate it with the question.

This book contains various chapters, each featuring a set of problems about a particular data structure or programming technique(Searching, Recursion, Dynamic programming). Wide variety of problems are covered in each chapter.

Each problem challenges you to put your brain in it.The solutions are also provided with good code quality. If you are looking to solve some challenging problems on data structures then this book is for you.

4. The Algorithm Design Manual

the algorithm design manualThe Algorithm Design Manual is not a beginners book.It's a decent second book.The code samples are written in C++ so in case you are looking for java code then you have to write your own or look at the internet.

Author has extensively covered the Graph topic with chapters like Graph traversal, weighted graph algorithms and  graph problems. No question, this book is one of the best resource for algorithms. I especially liked the "war stories" where author shows you how he was able to apply theory in practice.

Little annoying thing about this book is the variable and method names in the code samples. They are mentioned as x,n,c etc.  which is difficult to understand.

For me its a great book and and is indispensable for a good software engineer. Author of this book is Steven S. Skiena.

 5. Programming Interviews Exposed

programming interviews exposedProgramming Interviews Exposed explains problems such as brainteasers in depth. This book provide general problem solving techniques to  solve any interview problem.I found the book easy to understand and the code samples were great to get a feel for what kind of questions would be asked.

At the end of the book, you will find behavioral questions and resume creation tips. There are a few problems related to programming questions.Author has preferred digging in deep to a few good problems, rather than brief solutions to many problems.

Overall, if you are looking to get a job in software field then this is a good companion book along with cracking the coding interview.

6. Programming Pearls

Programming Pearls Programming pearls primarily focuses on coding techniques and algorithms. There are 15 chapters which are called columns in the book. Each chapter start with the presentation of a practical problem.Then various solutions are showed and used as lessons to be learned.

The writing style is clear. This book also contains small case studies, real examples and interesting exercises for learning about how to program.

I would recommend having algorithm book near by when reading Programming Pearls.


If you are looking to practice the algorithm questions for free then leetcode.com is the best online resource. It contains 800 algorithm based interview questions. You can try free version

I have shared the 6 best books for coding or programming interview. All the books are best of best.You can decide which book to choose depending upon goals and companies you are going to interview.  

About The Author

Subham Mittal has worked in Oracle for 3 years .
For more java articles ,Click here to Subscribe JavaHungry