Interview Prep and Nuances between Questions

Introduction

Interview prep can be very overwhelming. There are so many different resources out there that it’s easy to get lost in the hacker ranks, leetcode problems and YouTube videos. Even with my prep I’ve had a variety of interviews and some that I was unprepared for. Currently I am taking an algorithms class, working on individual interview prep and participating actively in a competitive coding club. Here’s some of what I’ve learned about the difference between algorithms, interview and competitive coding problems as well as what I find works best for interview prep overall.

For more informative graphics and resources check out the full article on my medium here.

Nuances between problems

Hacker rank and leetcode can be great resources for interview prep if you know where to look. The interview track which I’ve linked here has a great variety of questions from easy to hard levels. However I would stay away from the weekly competitions. While the problems are useful and certainly won’t hurt to practice, competitive coding questions focus more on an optimal solution and less on your thought process. An interviewer wants to see you think through a problem and maybe even start with a brute force algorithm. Many competitive programming questions focus on time complexity and time out in leetcode even if you’re passing the logical test cases.

Basic algorithms knowledge is needed for any interview but advanced algorithms knowledge is likely not. An interview is only 30 minutes to an hour and the interviewer wants to see how you think and write code, not if you know the trick to a specific algorithm. For a broad range of topics, I like this list from Gayle Lakmanns book cracking the tech career.

Interview Prep Advice

Even though there are slightly fewertopics listed here than I am learning in my algorithms class, I do think challenging algorithms problems can help with interview prep. If you find yourself struggling with the execution of a problem when doing interview prep, breaking down harder algorithms problems may help you practice how to take your thoughts and turn them into beautiful code.

I often go into an interview with multiple ideas how to solve a problem but don’t know which solution to pick. Here’s where some advanced algorithm knowledge could come in handy to quickly analyze the time complexity of your proposed solutions.

One invaluable way to prepare is to find a partner. Switch off taking the roles of interviewer and interviewee. Most interviews you will do, the interviewer has an active role in your success. Are you explaining your process to him/her as you code? Do you understand the code you’re writing? Have you walked through a test case? Did you ask relevant questions? All of these things play into your interview results. Companies want to know you can write code, but also that you can communicate to your potential teammates how it works and why.

Conclusion

By no means am I an expert at interviewing in any way shape or form. Just another student looking for a job out of college. These are some of the things that have helped me. In particular joining a club or a group that does regular practice has been the most helpful for me because it holds me accountable and is easy to schedule time for. I’ll link some resources down below for preparation purposes.