1.Cracking the Coding Interview: 189 Programming Questions and Solutions
The author, a software engineer, shares his experience in the coding interview process. He provides 189 real-world interview questions and solutions, covering topics like big O time, data structures, and core algorithms. The book also provides tips on how to break down problems, develop techniques for unsticking, and learn core computer science concepts. The author also provides insights into how top companies like Google and Facebook hire developers, and offers techniques for preparing for and aced the soft side of the interview. The book is designed for interviewers and companies.
Rated 4.3 on Goodreads.
You can purchase the book on Amazon.com.
2.Daily Coding Problem: Get exceptionally good at coding interviews by solving one problem every day
Daily Coding Problem is a book by Alex Miller and Lawrence Wu that aims to help readers become proficient in coding interviews by solving one problem every day. The book covers a range of topics, including Linked Lists, Arrays, Heaps, Trees, Graphs, Randomized Algorithms, Backtracking, Dynamic Programming, Stacks and Queues, Bit Manipulation, and System Design. It has received a 4.0 out of 5 star rating from 196 ratings.
Rated 4.0 on Amazon.
You can buy this book here.
3.The Recursive Book of Recursion: Ace the Coding Interview with Python and JavaScript
The Recursive Book of Recursion is a comprehensive guide on recursive programming, using Python and JavaScript examples to teach its basics and clarify fundamental principles. The book covers when to use recursive functions, how to implement classic algorithms, and how recursive techniques can solve problems involving tree traversal and combinatorics. It also covers how recursive functions use the call stack, head-tail and “leap of faith” techniques, and how to use recursion for custom search scripts, fractal art, and mazes. Al Sweigart’s approachable approach makes the book an excellent choice for those looking to add recursion to their programming toolkit or prepare for job interviews.
Rated 4.1 on Goodreads.
You can purchase this book here.
4.Cracking the Coding Interview: 150 Programming Questions and Solutions
Cracking the Coding Interview is a comprehensive book that provides interview preparation for top software developer jobs. The book covers over 500 pages and includes 150 programming interview questions and answers. It covers topics such as the interview process, behind the scenes, special situations, and resume preparation. The book also covers behavioral preparation, technical questions, and algorithm approaches. It covers topics such as arrays and strings, linked lists, stacks and queues, trees and graphs, bit manipulation, brain teasers, mathematics and probability, object-oriented design, recursion and dynamic programming, sorting and searching, scalability and memory limits, testing, C and C++, Java, databases, and threads and locks. The solutions are almost entirely written with Java, except for C/C++ questions. The book also provides a link for readers to download, compile, and play with the solutions themselves. The book is a valuable resource for those looking to ace their software engineering interviews.
Rated 4.3 on Goodreads.
You can buy this book on Amazon.com.
5.Coding Interview Questions
Coding Interview Questions is a book that provides a clear explanation of programming basics, serving as an interview and exam guide for computer scientists. It covers topics such as recursion, stacked lists, queues, priority queues, graph algorithms, sorting, searching, selection algorithms, symbol tables, hashing, string algorithms, algorithm design techniques, dynamic programming, complexity classes, operating system concepts, computer networking, database concepts, brain teasers, and nontechnical help.
Rated 4.1 on Goodreads.
You can purchase this book on Amazon.
6.Elements of Programming Interviews in Python: The Insiders’ Guide
Elements of Programming Interviews (EPI) is a comprehensive guide to interviewing for software development roles, featuring over 250 problems with detailed solutions. The book covers nontechnical aspects of interviewing, data structures, algorithms, and problem solving patterns. It covers basic and advanced data structures, searching, sorting, algorithm design principles, and concurrency. The book also provides a practical, fun approach to computer science fundamentals, focusing on common programming interview questions. The Python version is available for download.
Rated 4.5 on Goodreads.
You can buy this book on Amazon.com.
7.Dynamic Programming for Coding Interviews: A Bottom-Up approach to problem solving
The author encountered a lengthy process to compute the 80th term of the Fibonacci series using a recursive function. Despite having 8GB RAM and an Intel i5 CPU, the process took over 200 million calls. The author discovered that a Dynamic Programming solution can compute the 100th Fibonacci term in less than a second with a single function call, taking linear time and constant extra memory. Recursive solutions are often not successful in coding competitions or interviews with companies like Google and Microsoft. The author provides a comprehensive guide to Dynamic Programming, explaining concepts with simple examples and deep dives into complex problems.
Rated 4.2 on Goodreads.
You can buy this book here.