Tips for Tackling Coding Challenges

Posted by Paloma Mendez on March 15, 2021

If you haven’t been searching for a position in Software Engineering recently, you won’t be familiar with the coding challenges some are often faced with when applying for a job. Sometimes there are things such as time constraints, time complexity analysis and performance capabilities to consider independently or in conjuction with each other. If you are one of those beginning your job search, here are a few tipsfor tackling coding challenges to get you started.</br>

  1. Understand the Problem:</br> Firstly, if you are solving a coding challenge with an interviewer present, make sure to verbalize your understanding of the problem. There are always edge cases and it is important to consider them as well as let your interviewer know you are considering them. If you do not have an interviewer present, you may still be on a time crunch, so it is still important to understand the complexity of the problem so you don’t waste time on a function that won’t produce the results that are required.
  2. Break it Down:</br> So you don’t overhwhelm yourself when considering the multitude of ways you can solve any one problem, make certain that you can break down each step that you can take to reach the solution in any way. Psudocode is highly recommended when going over this step. This can also be a good step to showcase your complete understanding of the problem. Some lucky few might even get an interviewer who would step in and suggest strategies.
  3. Simplify and Solve:</br> This is the step some of us start to panic. At this point, we understand the problem and we know how we want to do it. WIthout practice, getting the expected result can be the most difficult step. This is where we can start to consider time complexity impications and look at how limited our brainstorming has to be due to time constraints. As a general ruel of thumb, avoid nested iterations, click here to learn more about the Big O Analysis.

  4. Refactor:</be> For refactoring, you can read my blog post in which I detail which things to consider when refactoring a solution.

For algorithm practice, please feel welcome to take a look at my other blog post where I list resources to practice your problem solving techniques.