Programming tasks are the best way to test candidates programming skills. The candidate is asked to modify a source code of some existing project.
During the test 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. Candidate can also download the project code and edit and build it locally with the favorite IDE.
It is possible to automatically assess solution posted by the candidate. Automatic assessment is based on Unit Tests 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:
- 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 WOULD NOT be used to calculate the final score.
- 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 would be used to calculate the final score.
After candidate finishes the test, our platform builds the project posted by the candidate and executes verification tests and static code analysis.
It is always possible to manually assess the code posted by the candidate. You can use Plain project type to share any project with the candidate, even if there is no dedicated support for such projects.
Programming task lifecycle
- 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.
- The system will prepare a candidate's project template - all files that match verification tests file patterns will be removed from candidates project template.
- 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 to create or modify files that match verification tests file patterns.
- After 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.