4 Resources for Technical Interview Success

·

4 min read

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!
  1. Gaurav Sen on YouTube

  2. Ramon Lopez on YouTube

  3. Algo Expert’s System Design course