Tis the Season for Coding Interviews

Carl Cortright
Carl's Crypto
Published in
3 min readDec 5, 2017
A classic coding interview question via HackerRank

It’s that time of year again, coding interviews for summer 2018 internships and jobs are in full swing. Everyone is stressed about who got coding challenges from which companies. After doing a bunch of practice problems and starting with my first interviews I wanted to write down a list of tips for others to use while preparing for coding interviews with software companies.

Coding Challenges

Oftentimes the first round of the interview process is a timed coding challenge designed to test your debugging, problem solving, and logic skills. Most of the time these challenges are online through platforms like HackerRank or a custom solution made by the company itself.

The best way to prepare for these coding challenges is to do a bunch of practice problems to get used to solving coding challenges while under time pressure. HackerRank is a platform that has a bunch of exercises provided for free on topics like data structures and algorithms. Try picking a range of problems to practice and familiarize yourself with the format of how the problem is presented, how compiling and running your code works, and how the test cases are given.

For timed online challenges, make sure you have what you need before starting; try to have a pencil and paper handy along with a glass of water and anything else you think you might want while working on the coding challenge. It is important to minimize the number of distractions so try to do it in a quiet space where you are comfortable. I like to go as far as to turn my phone off along with Slack notifications on my laptop so that I don’t get distracted by any incoming email or messages.

During the coding challenge itself read each problem fully and make sure you understand what you are doing before you start to work. If it is an algorithms or data structures problem think about what techniques are being used and how you are going to implement them in code. It is faster to go slowly the first time you write the code than to go too quickly and write lots of bugs that you will need to fix later. Try to stay calm and be consistent, even as you near the end of the time limit.

In-Person Interviews

In a technical sense, in-person interviews are almost exactly the same as coding challenges. You will have a set amount of time to solve a problem, but in this case the interviewer wants to see how you think about solving the problem. The best way to do this is by thinking out loud. When the problem is first presented make sure to ask questions until everything is completely clear. Next, whether the interviewer is asking you to draw on a whiteboard or code a solution live, talk about the different ways to solve the problem and do a rough outline of the solution. Here it is okay to have dialog with the interviewer, oftentimes they will signal whether you are on the right track. Finally, follow the outline you made and code the solution, talk about each line of code in the logical flow and what it does.

Recommended Resources

Cracking the coding interview

Interviewbit

Hackerrank

--

--

Carl Cortright
Carl's Crypto

I write about cryptocurrency, software development, and entrepreneurship. Engineering at Coinbase. Opinions expressed are my own.