4 Resources for Technical Interview Success
Disclaimer: This article was originally written and posted in March 2020, and moved to HashNode in March 2023.
In February 2020, I posted on LinkedIn about conducting technical mock interviews with those who are currently in the hiring process. I was surprised at the number of mock interview requests I received. Although I was not able to accommodate everyone, I was able to mock interview several people of varying skill levels. After a few interviews, I realized many interviewees were not aware of the amazing resources available on the web.
Here’s the list that helped me go from literally Level 0 (like folks, I was REALLY bad) to a Level decent enough to get me offers at Amazon and Google:
#1: The 7 Steps to Solve Algorithm Problems by Gayle Laakmann McDowell
You need a plan to tackle these problems - and here it is in video format!
I found a lot of success following Gayle’s approach to solving algorithmic problems because the steps are standardized and easy to follow.
My only modification to Gayle’s approach is that I ask questions about the problem (input/output clarifications, constraints, etc.) after I listen to the problem.
#2 - Leetcode
This is a well-known online judge with an awesome community of folks dedicated to improving their technical interview skills.
I learned a lot from just browsing the high-quality discussion posts that revealed how the poster thought about the particular problem.
If you’re just starting out, sort by Acceptance Rate and try your hand at the Easy Problems. Check out this article for Leetcode advice.
I approached these problems using Gayle’s 7 Steps outlined above, and in conjunction with the resources outlined below.
#3 - Elements of Programming Interviews (EPI)
The authors of this book write about high quality problems asked at tech companies.
The authors evolve their solution from brute force to most optimal, approaching the problem similarly to how you or I would.
All I did was copy the authors’ approaches to these problems and vocalized what they had written in the book during my interviews.
EPI is a bit more advanced so I recommend doing some easy/medium Leetcode questions before tackling this one.
#4 - BackToBackSWE’s YouTube Channel
This channel is - in my opinion - the best channel for explaining technical problem solving.
I liked the channel’s explanations so much that I made a list of all the problems the channel covers, mapped them to the corresponding Leetcode problem, attempted it myself, and then watched the channel’s explanation.
I watched all of the videos in the Software Engineering Interviews playlist and attempted to copy the way Benyam explains his solutions.
One more resource I would add to this group would be conducting mock interviews with others, but I’ll make a future post on that because I have a lot to say. But, hey, there you have it - these are my ultimate resources! I found these resources while studying for technical interviews over one year (or more - you lose track of time to be honest lol) - and I hope they help you in your journey as much as they’ve helped me in mine.
What about Cracking the Coding Interview (CTCI)?
Honestly, I wasn’t a fan of CTCI because the explanations weren’t up to par with EPI’s explanations
It’s a good stepping stone, however, if you’re just starting out (but I would skip out on it completely in favor of practicing easy Leetcode problems)
Many of my friends found success by combining CTCI and Leetcode, but I was just not as good at technical interviewing as my friends so I had to utilize the four resources I listed above :)
What about System Design?
- Since I applied to New Grad positions, I didn’t get asked any System Design questions; however, I made a list of resources some time ago just in case I would need to study for it in the future. Check them out, and let me know what you think on Twitter/LinkedIn!