Introduction to the Coding Hire Automated Challenge

This challenge is designed to test your ability to read code, find bugs in that code, create test cases exposing those bugs, and then fix them. The code in most of the questions is very simple and makes use of basic data structures (arrays, hashtables) and basic control structures (if statements, while loops, for loops).

When you begin, you will be given the following:

1. Read the Code, Find the Bug

The first thing you should do is find the bug in the code. You'll want to review the problem statement and carefully read through the code until you've spotted it.

2. Add a Failing Test

Once you've located the bug, you need to add a failing test case. There will be a place for you to enter the input and the expected output. It will be checked to make sure it is valid.

Test case inputs will be JSON data types (number, string, boolean, array, associative array and null). If a function takes multiple parameters, the input should be a comma separated list.

Each question will have at least one sample test case so you can see the format. The sample case will be passing (because it doesn't hit the code path containing the bug).

3. Fix the Code

Once you've added a failing test case, you will be asked to fix the code so that it fully meets the requirements (and your test case passes). The modifications required are usually minor.

4. Repeat

Once you've solved the first question, you will be given another. You will have 20 minutes to get through as many questions as possible.

Scoring

Once you've completed the challenge your results will be scored and compared to other candidates. Your score is primarily based on how many questions you complete within the time limit.

Some Advice

Your initial tendancy may be to start trying a bunch of random test cases until you find one that works. However, you will have much better luck if you slow down and read the code first. Once you spot the bug in the code, creating a failing test case will be easy.



Frequently Asked Questions


How long will this take?
20 minutes. This is not designed to be a comprehensive test, just a quick screening exercise.
What if I get stuck?
After 3 minutes you will be given the chance to take a hint or skip the question. Either option will have a slight impact on your score, but is better than remaining stuck on a single question for too long.
What if I don't know javascript?
You don't need to be experienced with javascript to take this challenge. The exercises are designed to test your ability to read code and find simple logic bugs. If you have experience in any object oriented or C-like programming language you should have no problem with these challenges.
Do I need to create an account or install any software?
No, you only need a supported web browser. If your browser isn't supported you will be notified when you open the challenge link.
Which browsers/devices are supported?
We support most modern web browsers. Currently we require that you use a device with at least 1280 pixels of horizontal screen resolution.
Can I open the challenge link without starting the challenge?
Yes. You can open the link and check out the interface, but the timer won't start until you are ready.
Once I receive my challenge link, do I need to complete it right away?
No. It's ok to wait a day or two, unless your recruiter tells you otherwise.
Is this just a coding speed test?
No. There is a time limit because we want to respect your time and ensure a level playing field. However we are mostly testing your ability to read code and find bugs. You will perform better if you slow down and carefully read the code and requirements.