Boost Your Coding Interview Skills With an Effective Study Plan

Create a winning study plan to excel in coding interviews. Retain knowledge under pressure and collaborate seamlessly with interviewers. By Ryan Brodsky.

Leave a rating/review
Save for later
Share
You are currently viewing page 2 of 3 of this article. Click here to view the first page.

Step Three: Practice Getting Stuck

Did you ever consider that it’s possible to do too well in a technical interview? When programmers cruise through a coding challenge, interviewers don’t have the chance to learn much about them or to witness the problem-solving process they want to see in a candidate.

However, you can turn this to your advantage, too. If the questions are easy for you, try thinking of a new twist or feature that would make you intimidated to keep going — and work on that next. Unless you get stuck at the very outset of the challenge, it’s a good thing to hit that wall and have to work your way past it.

This is the whole point of the interview — it means you’ve gotten to the good part. You get to show them the process you’ve been working so hard on! You’ll demonstrate your resilience in the face of genuine difficulty and collaborate with the interviewer. Here’s your chance to develop the rapport that makes them think, “I can work with this person!”

Don’t be afraid to ask your interviewer questions about specific syntaxes or to talk your way through problems. Saying, “I know I need to…” provides the interviewer a chance to either interject and give you some leading clues or explain why you’re going down a dead end and offer an alternative.

Either way, you’re making the experience collaborative and demonstrating the partnership they can expect when you’re consulting with your future teammates.

Step Four: Apply the Concept to a Project

The challenges in technical interviews often feel abstract and disconnected from the job. Even battle-hardened developers acknowledge the uselessness of coding-interview-style algorithms. For example, Max Howell, the creator of Homebrew, the near-universal package installer for Mac users, was rejected by Google for not being able to reverse a binary tree on the spot.

One way to make knowledge stick is to plug it into the broader context of your programming knowledge. Ideally, this would mean using what you’ve learned in one of your side projects.

Applying your knowledge to something practical is a great way to remember it. Image by Bing Image Creator

For example, you could solidify your understanding of sort functions before your coding interview by using them in place of a built-in .sort method in an app that lets users access or request sorted data.

Tip: If it bothers you to keep your manual sort in the function, just comment it in and out depending on the state of the side project.

You might also challenge yourself to add new wrinkles to the challenge that are uniquely suited to the context of the project as well.

For example, if you’re sorting a list of objects, challenge yourself to create a more complicated ranking system that compares multiple values, like so:

  • Add a tiebreaker value when the main sorting values are tied.
  • Allow users to create a valuation function that weights several of the object’s keys to determine a final rankable score.
  • Provided a scoring function as a string in the format of a calculus function, create a sorting function that applies the function to each object in the array and sorts them according to the resulting output of the user’s scoring function.

Following up With Concrete Applications After Your Interview

Whether your coding interview was successful or not, one tactic that helps you stand out from other candidates is getting back to your interviewer later with a useful application of the concepts you covered during the interview. This demonstrates that you are eager to learn from them and creative enough to apply what you’ve learned in a project.

For example, writing a recursive function compiling all permutations of nodes in a search trie sounds like a nightmare code challenge. And yet, one of my favorite coding side projects does exactly that — only in the context of the British panel game show, Eight Out of Ten Cats Does Countdown.

Ignoring the delightfully English absurdity of the title, it’s a show in which contestants are given seven letters and challenged to find the largest possible words that can be spelled with those letters. So, I wrote an application that creates a search trie of all words in the dictionary, then traverses that data structure when given the seven letters of a round of the game.

While I’m skeptical I’d be able to pass a code challenge phrased as “compile all permutations of traversable nodes in a search trie” on the spot, the application nonetheless proves I was able to do it in a creative and unique context when given a realistic amount of time.

We all know that not every problem can or should be solved in the space of an hour under direct observation with a job on the line. A custom-made project applying the “failed” algorithm in a novel context will show that you’re able to work with concepts of that difficulty level — and that you don’t give up easily.

If the algorithm isn’t particularly suitable for a project, consider creating a suite of unit tests around the given problem, or doing a benchmarking performance comparison between different alternative answers. This type of in-depth analysis of the problem is more indicative of the kind of rigor you’ll bring to the job — and arguably demonstrates more value than being able to solve things quickly on the spot.

Key Takeaways

While there’s no replacement for practicing as many different algorithms as you can, creating a study plan helps you spend your time preparing for your coding interview more productively. To do this:

By collaborating with the interviewer, you’ll go a long way toward demonstrating your value and helping interviewers see you as an effective future colleague who’s capable on their own and a productive team member.

  • Focus more on your problem-solving processes than on the solutions to any specific coding challenge.
  • Use spaced repetition to solidify what you remember about the topics you study.
  • Prepare to get stuck in your technical interview. See it as an opportunity, not a failure.
  • Practice by using your knowledge in actual projects – even after a coding interview. Especially if the interview didn’t go as well as you’d hoped.