You provide JSON data that will be exposed through an API which candidates will use. They are given instructions on how to parse and manipulate the data. Then they POST the response to you. If the response is 200 OK - they've passed and they can upload their code for your team to review and decide if they should go to the interview stage.
I think this has lots of benefits:
- It's gives candidates a real-life problem to solve. Most, if not all software developers will have to interact with API's and manipulate data.
- Candidates can use their own dev environment that they are comfortable using.
- It saves the company time. They can choose to only assess the code of people who pass the test.
- It makes for a good candidate experience. I think it reflects well on a company if their interview process is close to real-life work.
Hoping to ship the beta version of this next month