This book helped me to land an internship offer in Google and several new grad software engineering offers from FAANG companies such as Google, Facebook, and Stripe.
I'd highly recommend this book to an ambitious friend who's looking to brush-up on their data structure and algorithm knowledge, rather than just telling them to "grind LeetCode" (this can act as a perfect supplement for LeetCode)
The book also comes with EPIJudge () which can be cloned and run in your local machines.
I thought I already knew Python before reading this book, but I was wrong. This book really teaches me how to write idiomatic Python code, and introduced me to lots of useful libraries that I use during programming interviews.
I didn't regret buying the book and shipping it from America all the way to Indonesia 😁
I didn't manage to finish all the content in the book (maybe just around 50-60%), and I think I would still need to revisit this book in the future 👍
The perfect complement to a premium subscription to leetcode.com. The solutions in this book are uniformly high quality, written in idiomatic python, and always give a full explanation. The authors also reveal which libraries you should learn and use during whiteboard interviews, which concepts can be glossed over and which should be studied closely. While the "Google interview prep" industry is rife with low-quality content, but this book holds itself to a high standard.
The meat of the book is chapters 4-14, containing problems like those used in Google interviews, and other companies that have modeled their interviews after Google's. Work through these chapters, read the solutions, and if don't learn something, you're ready to interview!
I've read and worked through quite a few programming interview books at this point.
EPI in Python is my favorite. And not by a little. By a **huge** margin.
It's the most straightforward, it's the easiest to understand, and it has guided solutions written in Python.
Whether you're interviewing or not, I think it's rewarding to work through this. You'll learn a ton.
There are hundreds of questions, but the authors provide a series of pathways to work through -- if you're planning for an interview in the next [ week | month | quarter | year ]. Wish CTCI had that. This feature alone makes it worth the money, IMO.
Disclaimer, I probably only worked on 50% of exercises (columns C0, C1, C2 and some C3 IIRC (but no C4, so I could test myself again with fresh new problems) in Table 1.2). I read this pre-GPT craze, not sure how useful, or how I would rate the problems now tbh.
What I like the most: - the structure (Table 1.2), on which problems to approach to prepare an interview, depending on how much time you have and want to spend every week. So one may get a nice selection on a range of different topics. I also like the explanations and hints afterwards. - the Github Judge, since it had a good amount of test cases, and it was useful to find corner cases I might've missed and my code would fail otherwise. It also saves time to focus more on algorithms
What I didn't like... the introduction to each topic was lacking. Many problems or answers would refer to other topics which would not be introduced after several chapters later... Should've kept that in mind when structuring the book.
I've never seen academic resources that I thought did a good job teaching patterns and such in algos. For that, I'd recommend interview prep material.
I'd recommend "Elements of Programming Interviews" (EPI) over "Cracking the Coding Interview" (CtCI): I think EPI does a better job of systematizing the learning process. While CtCI covers more ground, EPI is focused more on algos and data structs. This focus also comes across in how it presents material on algos and data structs: Instead of being more an exhaustive word dump, it focuses on relevant topics that provide a systematic approach to solving problems. Also, it has many strata of problems such that you can start with the easiest and most generally applicable problems then work your way up to harder and more esoteric problems.
The best book for difficult interview questions. The only one I think can adequately prepare you for FAANG. Good selection of programming language-specific topics covered, and a lot of tricky algorithms you might not encounter elsewhere. My only complaint is the coding style sometimes becomes incredibly hard to read, from a combination of strange code (using a list with 1 element as a global variable across functions) and trying to be overly clever (lots of nested functions, nested list comprehensions, etc.).
Very helpful for the programming interviews at big tech companies. Give yourself plenty of time to go through the book—I recommend at least one month. It probably will take you 3 months of continuous learning to go through the book in its entirety, but even going through 1/3 of the problems (use the chart in book to see which ones these are) will be immensely useful for identifying problem types and getting a feel of pythonic solutions.
This is the best resource that I've found for high-quality programming interview problems. The contents is voluminous and comprehensive, and the format of brief topical refreshers followed by several examples worked well for me. I also appreciate the high-quality analyses and solutions, compared to the more hit-or-miss content available through popular sites such as LeetCode. I plan to return to this book as-needed to refresh for future interviews.
Hands down the best book that contains Python solutions to all sorts of coding interview questions. Questions are just like in the interview setting, vague and broad, but the authors really did a great job iterating from the brute force to the optimal solution.
Note - Beginners beware, the book is NOT meant for novice programmers.
Simply fantastic! Way more structured and curated by doing random Leetcode problems in my opinion. I gained a lot of confidence after finishing all the problems in this book. Recommending this to everyone preparing tech interviews.
This is, without a doubt, the best book to prepare for technical interviews and a very nice complement to webs like leetcode.com. It has helped me land two big tech offers.