Programming tasks are the best way to test candidates programming skills. The candidate is asked to modify the source code of some existing project.

During the test, the candidate is allowed to edit the source code of the project with our browser-based code editor and, if the automatic assessment is enabled, can build the project inside the browser at any time. The candidate can also download the project code and edit and build it locally with their favorite IDE.

Automatic assessment

It is possible to automatically assess solutions posted by the candidate. Automatic assessment is based on Unit Test results and Code Quality measurements.

All unit tests that are executed during the build will be detected by the Devskiller platform.

There are two kinds of unit tests:

  1. Candidate tests - unit tests that are visible for the candidate during the test. Should be used to do only the basic verification and help the candidate to understand the requirements. Candidate tests WILL NOT be used to calculate the final score.
  2. Verification tests - unit tests that are hidden from the candidate during the test. Files containing verification tests would be added to the project after the candidate finishes the test and will be executed during verification phase. Verification tests result will be used to calculate the final score.

After the candidate finishes the test, our platform builds the project posted by the candidate and executes verification tests and static code analysis.

Manual assessment

It is always possible to manually assess the code posted by the candidate. You can use the Plain project type to share any project with the candidate, even if there is no dedicated support for such projects.

Programming task life cycle

  1. Choose an appropriate project type and upload a ZIP file with project files. We will look for a project descriptor inside the uploaded ZIP package and will try to build your project to discover all unit tests.
  2. The system will prepare a candidate's project template - all files that match verification tests file patterns will be removed from candidates project template.
  3. After inviting a candidate an individual workspace will be prepared for each candidate. The workspace will contain all files from candidate's project template. During the test system will forbid creating or modifying files that match verification tests file patterns.
  4. After the candidate finishes the test, files with verification tests will be added to the candidate's workspace and verification tests will be executed during the final build of the project.
Did this answer your question?