Common Coding Bootcamp Interview Mistakes
Coding bootcamp enrollment set new records in 2016, growing by 74% from the year before. Such an increase in interest should come as no surprise when you consider that nearly three in four bootcamp graduates find employment in an engineering field and earn a whopping 64% more than they were earning beforehand. That roughly equates to an average increase in salary of $26,000 in exchange for an average bootcamp cost of $12,000. Although once stigmatized compared to their computer science degree-holding colleagues, bootcamp graduates are now widely regarded as some of the most productive and ambitious in the workforce.
Given the impressive results, a significant amount of applicant competition has followed, which means that bootcamps are getting more selective. Applicants are expected to study and illustrate some degree of comprehension before being accepted into a program. Nailing the interview is more important than ever, which is why we’ve compiled the most common mistakes and how to avoid them.
In accordance with bootcamp curriculum and recommended reading, we’ve developed 60+ beginner challenges that have been taken half a million times. They encompass the fundamentals: simple loops, logic, regular expressions, and basic data structures. Based on user submissions and several hundred email conversations, we discovered that mistakes are both coding and non-coding related. So let’s begin with the most common coding ones:
Mistake #1: Syntax for indexing/function calls
Two common mistakes I’ve noticed beginner coders make when solving the easy challenges on Coderbyte is a simple syntax error and a logical error when returning a Boolean value from a function. And that’s unfortunate because our data actually shows that even beginners tend to write 95% of a function correctly, only getting tripped up on these two mixups.
In the example above, parentheses are wrongly swapped with square brackets. Instead, it should be str[i] because you are indexing a part of the string, not running a function on it. You’ll kindly receive a TypeError when this happens in a console.
Mistake #2: Boolean logical flaws
The second mistake is to put return true or return false in the wrong part of a function. Common interview questions will ask the applicant to determine if something is true for all elements in an array. The correct way to solve this is to check all elements, and to return false if one of the elements is incorrect. But keeping track of boolean variables can prove tricky, as the example below indicates.
At first glance, it seems that the function above adequately cycles through a string to check whether or not any of the characters are numbers, returning true if there are no numbers or false if there are any. But if you test it with a string like “abc4” or “a456”, you’ll notice the function doesn’t work as intended. That’s because the loop is actually returning true if any character is not a number.
The correct solution to this function is below:
By switching return false with return true and changing the conditional statement, the function now correctly identifies if there is an integer anywhere within the string and returns false if so. Otherwise, it returns true, since it’s clear by this point that an integer was not encountered.
Taking advantage of hash tables
Beyond syntax and logical mistakes, there is one other common shortcoming. Aspiring developers frequently underestimate the value and broad applications of hash tables and how much that data structure can improve your program. In a previous article I wrote about the Importance of Hash Tables.
Taking the example from that article:
For example, imagine you had a list of 1,000,000 items that people recently bought on a website like Amazon, and you wanted to check if the book, “The Great Gatsby”, was within that large list. You could simply loop through all the items looking for “The Great Gatsby” but that will, in the worst case scenario, require your program to perform 1,000,000 checks to see if each and every value is equal to “The Great Gatsby.”
Instead, if you were to hash all the items and store them in a hash table, checking for virtually any element would happen quickly and at the same speed no matter how large your dataset. Even though it takes a few more lines of code, it executes a lot faster.
We go into significantly more detail about hash tables and calculating efficiency (known as “algorithm analysis”) in our ebook, How to Ace the Coding Bootcamp Technical Interview.
Read the recommended reading
As I mentioned earlier, some of the most common interview mistakes are not related to coding. Many of the bootcamps we partner with explain how applicants simply fail to study the recommended reading that is posted on their website. For example, bootcamps may recommend to study functional programming, read a few chapters from an e-book, or create a simple project like a tic-tac-toe game to get some practice at coding.
Hack Reactor is one of the most prestigious bootcamps and kindly posts preparatory materials right on their website. They even outline what they look for in an applicant. Likewise, App Academy provides a study guide with links to challenges, while Codesmith provides a plethora of resources. You can find coding challenges to prepare for a number of the most popular coding bootcamps here.
Break it down
Finally, no matter how much you prepare, the interviewer is always going to throw you a curveball (to be fair, that’s their job). The key is not to hit a home run but to do the opposite. Break the problem down into smaller pieces and hit a few singles. For a moment, don’t think about code but instead think about merely about the steps needed to solve the problem.
Let’s take a common example. Imagine you are asked the following coding question:
You are given a large string of people’s names, ages, and emails each on its own separate line of the string, and your goal is to create an object for each person that stores their information. Then you should write a function that will allow someone to sort all of the people either by their name, age, or email.
This problem seems a bit complicated, and interviewees will often become overwhelmed. Don’t rush into this by starting to write some code or start talking about how you are going to write the sorting function because you first need to get a good grasp mentally on how you are going to tackle all of the different parts of this challenge.
The first thing you should do is break the problem into smaller pieces and talk through it with your interviewer so they can see your thought process. Below is an example step-by-step process of breaking the problem down into smaller pieces:
- You are given a large string, and you need to somehow separate all the different pieces like name, age, and email. You’ll need to most likely use a split function to split the string into an array.
- Then the next part is to create a new object that will store the information for each person. This will involve actually creating a new object from different parts of the array, and then storing this object into some sort of list for easy access later.
- The last part requires you to be able to sort all of the people. If every single person is stored as an object, you’ll need some way to sort by some object’s property.
Each step alone is significantly easier to handle and also shows your ability to think on your feet. By the way, that’s exactly how experienced engineers operate. Pros don’t look at complex problems and start writing code. They begin by breaking down problems into steps. It’s good to get the hang of doing that now, and delight interviewers in the process.
Applying to and getting accepted into a coding bootcamp is a major milestone in the career of thousands of people every year. It’s truly a cause for celebration. As you study for an upcoming interview, be mindful not to let common mistakes stand in the way.