Elements of programming interviewsAdnan Aziz
Elements of programming interviews
by Adnan Aziz · first published 2017
59mentions
36recommended by
57HN commenters
2013–2024first – last mentioned
63% recommend32% neutral5% critical
Why HN recommends it
Harder, more thorough problem set than Cracking the Coding Interview, with a catalogue of question types and Java, C++, or Python editions; suits experienced engineers aiming at Google-level interviews.
Summarised by Claude from recommending comments
"Elements of Programming Interviews (EPI) aims to help engineers interviewing for software development positions. The primary focus of EPI is data structures, algorithms, system design, and problem solving. The material is largely presented through questions."--Introduction.
Affiliate links. As an Amazon Associate I earn from qualifying purchases.






…easily, you'll have an easy time at the average interview. If you want to prepare to interview at one of the top companies, then afterwards procure a copy of my secret weapon: Aziz, Lee, & Prakash's "Elements of Programming Interviews". The questions there are an order of magnitude more difficult. If you are able to apply the CS concepts you are learning to questions of that difficulty, all doors will be open to you.
on “I've been a software engineer for 10 years and I can't do interview questions” ↗…4th ed. (also Algorithms in C) If you find you need or would like more math: Discrete Mathematics (Epp is an easier read, Rosen seems more verbose) Mathematical Proofs, Charrand For interview prep: Elements of Programming Interviews (EPI) Designing Data Intensive Applications
on “Ask HN: Looking for a book on algorithms and data structures” ↗…you can always use to get a direction in which to solve the problem. Getting this hint 100% of the time from the interviewer is 100% fine. As for study, I highly recommend the index page of this book, Elements of Programming Interviews, as a reference. It contains a catalogue of questions, whose complexity exceeds that of CTCI or PIE. Here are the links. For the entire book, http://www.amazon.com/Elements-Programming-Interviews-Inside...…
on “Ask HN: Coder at heart, PhD in pocket. Job advice please” ↗…last year this is great advice. Other books I found particularly useful were: Algorithms by Dasgupta, Papadimitriou and Vazirani: http://www.amazon.com/Algorithms-Sanjoy-Dasgupta/dp/00735234... And Elements of Programming Interviews by Aziz, Lee and Prakash: http://www.amazon.com/Elements-Programming-Interviews-Inside...
on “On Secretly Terrible (Old) Engineers” ↗…http://www.amazon.com/Cracking-Coding-Interview-Programming-... Gayle also has a number of YouTube videos such as: https://youtu.be/rEJzOhC5ZtQ and a web site: http://www.careercup.com Others include: Elements of Programming Interviews: The Insider's Guide by Adnan Aziz http://www.amazon.com/Elements-Programming-Interviews-Inside... Programming Interviews Exposed: Secrets to Landing Your Next Job by John Mongan, Noah Kinder, and Eric…
on “Any website for practicing coding interview” ↗Have you taken an algorithms course? Working through Skiena's Algorithm Design Manual [0] would be a good start and/or watching his lecture series on Youtube [1]. Other great books include Elements of Programming Interviews [2] which comes in Java, C++, and Python flavors. It can help to focus on a smaller subset of Leetcode problems to learn the tricks that underlie most of them. Neetcode [3] is a good collection of those…
on “Ask HN: 30s and “senior” software engineer, but I suck at programming” ↗…to practice your interview-problem-solving skills. I know I did. What I did was put a whiteboard on my wall and solved problems on it. I solved the problems blind, drawing them randomly from a book (Elements of Programming Interviews was my primary source). I video recorded myself and reviewed the recordings to help me refine my spoken thought stream and to learn to avoid stumbles and long stretches of silence. I then practiced in…
on “Ask HN: Good interview preparation (for Meta and others)” ↗…is simply crazy. It strikes me as an attempt to not learn how to tackle these challenges, but to actually brute-force through them. To anyone preparing for an interview: don't do this! Grab a book like Elements of Programming Interviews (EPI), maybe follow some online courses on programming puzzle patterns, and then start grinding LC. Maybe interleave grinding with learning? Your end goal should be to develop deep understanding of what…
on “Leetcode has taught me that I'm a bad engineer” ↗…interviews until I realized that this was no different than all the other other intellectual hurdles/gauntlets I had successfully navigated up to that point by giving myself time to thoroughly prepare. Get "Elements of Programming Interviews" and give yourself 2 months to prepare. Start to with "1-month" plan in the book spending at least an hour a day at the very minimum. (I have worked through both Elements of Programming Interviews and…
on “Ask HN: I suck at technical interviews. How can I get better?” ↗Since your goal is to clear interview at Google (or companies with similar interview style), I would recommend straight up interview preparation. I have recently found "Elements of Programming Interviews" [1]. For people with 5+ years of experience trying to clear Google style interviews, this is the perfect book for following reasons: + The quality of problems is much much better than the other two…
on “Ask HN: 8 years working, now 3-4 months off to learn. Looking for advice” ↗…challenges. You should be able to solve any random medium difficulty question within 15 minutes if you want a shot at the companies you listed. Keep doing a couple of these per day till you get really good. "Elements of Programming Interviews" or "Cracking the Coding Interview" - Read through either one of these to get an overview of the interview process and what companies expect. Polish your resume - This is only important to get the interview.…
on “Ask HN: How do I prepare for an interview for AMZ/GOOG/APL/FB?” ↗…difficult by scanning lists of common questions asked. Although I had only a few weeks to prepare. If you have more time the second step may not be as necessary. If you have one month to prepare use the Elements of Programming Interviews book. If you have more time check out Udi Manbers book on designing algorithms using induction. It goes into the why and the how. In recent times I’ve observed that the system design interview increasingly…
on “Ask HN: Has anyone ever got contacted from the “Who Wants to be Hired?” posts?” ↗…questions and solutions and c) solve a few yourself from scratch 2. Cracking the Coding Interview: the "classic"; I see that Gayle also has a bunch of HackerRank affiliated videos on Youtube now. 3. Elements of Programming Interviews: similar to (2) but more thorough Outside of those, I've also: 1. Interviewing.io: "realistic" practice interviews 2. ChatGPT: practice recruiter screen/behavorial questions, e.g. generate sample questions…
on “Ask HN: Recommendations for preparing for interviews for senior software roles?” ↗…Here are the 4 standard books to prepare for programming interviews at big companies like Apple, Google, Microsoft, Facebook, Amazon. - Programming Interviews Exposed - Cracking the Coding Interview - Elements of Programming Interviews - Ace the Programming Interview 2) Open Source - Get involved today! Pick a big open source project like Mozilla. Big projects have great resources and programs to get new people involved. For example…
on “Ask HN: As a recent CS grad, what am I doing wrong? ” ↗This is excellent advice. "Elements of Programming Interviews" and "Cracking the Coding Interview" are both excellent choices for this, I like them both. Also, check out this classic post on the topic: http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog...
on “Ask HN: I suck at technical interviews. How can I get better?” ↗