Online Coding Challenges - Free Interview Prep
From the different types of challenges to the best way to prepare for a challenge.
Complete code challenges and test your skills against our global community
What is an online coding challenge?
So you’re interviewing for a new job and you’ve been asked to complete an online coding challenge? This can sound a little daunting at first, especially if you don’t know what to expect.
Given the unfortunate prevalence of imposter syndrome in the developer community, some may feel like they will be found out if they take part in an online coding challenge. However, you really have nothing to worry about. These tests are designed by others like you, to be intuitive and approachable, while giving a fair and accurate reflection of your skills.
What to Expect from Online Coding Challenges?
An online coding challenge is typically sent by prospective employers and recruiters to candidates to gauge their technical skills. They come in a variety of formats including:
- Multiple choice questions
- Small scale, end to end application builds
- Debugging challenges
- Algorithmic quizzes
- Real world sample problems
Regardless of the challenge type used, the end goal is the same. To provide a standardised way of assessing technical ability, allowing multiple candidates to be compared with one another.
There are, of course, coding challenges for each language, Python, Javascript, Java, PHP… Even COBOL! They can range in time to complete. From 20 minutes to, in some extreme cases, several days! This is where a fine balance has to be met by employers. If they design their own challenges to be too lengthy, they risk turning the very best developers away, as they will see it as a waste of their time but too short and they won’t get the insight they need and will require additional digging which takes up more of the candidate’s time.
Another consideration businesses have to take into account is how difficult they make their challenges. Too difficult or too easy, and the results are meaningless. For these reasons, most companies choose to partner with an online code challenge provider. It’s likely you’ll see common names cropping up when completing these tests such as HackerRank, Coderbyte and, of course, us… Geektastic. (See our piece about the best alternative to HackerRank.)
Why are online challenges used?
Online coding challenges are favoured by many employers for a variety of reasons.
Some of the main reasons include:
- They provide an objective comparison - as everyone is given the same coding test, results can be compared directly, like a coding competition. This takes the guesswork out of the interview process.
- They can be used to eliminate unconscious bias from the interview process. Unfortunately, humans suffer from all manner of unconscious biases. This can significantly harm the prospects of certain individuals or groups. By utilising code challenges, employers can level the playing field. This allows them to hire the very best applicants and build diverse teams. There are all manner of benefits to this. No least, it has been shown that diverse companies make more profit!
- Online coding challenges can drastically speed up the hiring process. Code challenges are typically utilised early in the hiring process. This enables companies to filter out unsuitable applicants early on while giving everyone a fair chance of applying. Without these, companies have to be very selective about who they spend their time speaking with, and even then, multiple technical interview rounds can significantly delay the hiring process.
- They allow companies to map out a development plan for new hires. An often overlooked benefit to online coding challenges, is that they allow companies to identify areas for improvement in their hires. Just because you were hired, does not necessarily mean you received a perfect score. By being able to pinpoint areas for improvement, companies can work with new hires to improve their overall coding ability.
What Does Taking an Online Coding Challenge Involve?
With such a variety of coding challenges, it can be hard to specify exactly what will be involved. However, aside from the various types of online coding challenges mentioned earlier, you can also expect challenges to be either timed or untimed. While some challenges are “untimed” you’ll still want to complete them as swiftly as practicable. As this both demonstrates you are proactive, but more importantly will allow you to submit your challenge before the rest of the competition.
Most challenges are designed to be “open book” meaning you’ll have access to Google and any other resources that may help you work through the challenge. However, some are designed to test your existing knowledge, with these you can also expect to install some kind of monitoring software to ensure you are completing the challenge in test conditions (just FYI Geektastic don’t do this - they want to remove as much exam stress as possible - who wants someone looking over their shoulder when they are working). In our experience, the latter form is relatively rare these days. Most companies are only really interested in testing you on your real world skills which, invariably will involve access to a variety of sources.
How will you be assessed?
How you will be assessed will depend on the challenge or platform used. Regardless, you will be assessed by either a human reviewer (as with Geektasticour platform) or you will be automatically scored by the computer.
How you will be assessed should affect your approach somewhat. With a manual review, you’ll want to put greater emphasis on commenting your code and showing your thought process. Here, creative problem solving will be rewarded, so don’t be afraid to think outside of the box (but don’t go too far off piste - at Geektastic we have seen some great solutions but they are so out the box they put the hiring team off as they demonstrate an inability to follow instructions). With automatic reviews, however, it’s a more useful approach to try to assess what the “correct approach” is, and work towards this.
How taking one can benefit your career
Now that we’ve discussed a little about what coding challenges are and what to expect from an online coding challenge, it might be worth mentioning some of the ways they can significantly benefit your career:
Landing your dream job - The first and perhaps most obvious answer is that, if your dream job/company makes use of coding challenges, you’ll need to complete one to give yourself a shot of landing that role.
Ranking against other developers - Some online code challenge platforms allow you to show your ranking against others that have completed the same test (yes you’ve guessed it - Geektastic do this using a very clever ELO ranking system) . This kind of competitive programming can be an excellent way for employers to gauge your skills. In fact, our platform will allow you to display this to any potential employers that might be looking for developers with your skills. This can be a fantastic way of advertising your talents when looking for work.
Using your scores when looking for work - Aside from being an excellent tool to let employers find you, coding challenges serve as another boost to your CV. You can proudly display your scores from certain challenges and use that to demonstrate your competence to any companies you apply to, regardless of if they use coding challenges or not.
On top of these, the benefits to employers also apply to you as a developer. Less waiting around when looking for a new role. Clients can tailor their development plan for you based on your scores and you’ll get a fair and objective assessment, free from unconscious biases.
Tips to Improve Your Results
Here we thought it would be useful to share some top tips to help you excel in any online coding challenge.
Ask ahead of time what the test is going to involve. This won’t always work. However, some recruiters and companies may share with you in-depth information as to what areas the challenge will cover. This will provide you ample opportunity to brush up on the requisite skills. If this information is not provided, you can safely assume that the required skills from the job description will be tested.
Ensure your environment is free from distractions. Especially with timed challenges, every minute counts. It goes without saying, if your dog keeps barking at you, you won’t perform your best. Ensure your phone is on ‘do not disturb’, pets and other humans are safely out of sight and that your screen and keyboard have your undivided attention.
Use your available time. While it may be tempting or seem impressive to finish the challenge as fast as you can, use your entire allotted time. Go back and review your answers and ensure you haven’t made any typos or glaring errors.
Comment your code and include a README. Of course this is good practice anyway. However, in a time pressured situation, it can be easy to miss. Commenting your code will allow you to show your thought process. This will not only give a deeper insight into how you are approaching the problem. It will also allow the hiring company to see if you were on the right lines even if an answer isn’t 100% correct.
Don’t panic. These tests are designed by people like you for people like you. If you don’t know an answer, move on to the next question and come back to it if you have time at the end.
Here’s a list of our coding challenges:
Are you interested in reading about cracking the coding interview?
Try our online coding challenges