Coding test platform to replace in-house tests_

Codility Screen gives each candidate a realistic engineering task and scores the output of selected task types against test cases. Your engineers no longer write the test by hand or mark the automatically scored tasks.

verifiedOver 1,300 tasks, each designed by assessment engineers, reviewed by occupational psychologists and tested for AI solvability.

Backend engineer assessment
check_circleTask 1 Task 2 Task 3
schedule41:18 left Submit task
Task 2 of 3
Inventory reservation service
Java Spring Medium

An online store reserves stock when a customer starts checkout. Implement ReservationService so that concurrent reservations never oversell an item.

Requirements
  • reserve(sku, quantity) decrements available stock
  • Throw InsufficientStockException when stock is too low
  • release(id) returns stock to the inventory
  • Reservations expire after 15 minutes
$ mvn test
description search account_tree bug_report extension
Explorer
expand_moreinventory-service
folder_opensrc/main/java
codeInventory.java
codeReservationService.java
codeReservationController.java
folder_opensrc/test/java
scienceReservationServiceTest.java
data_objectpom.xml
articleREADME.md
ReservationService.java Inventory.java
1
package com.shop.inventory;
2
3
@Service
4
public class ReservationService {
5
6
private final InventoryRepository inventory;
7
private final ReservationRepository reservations;
8
9
@Transactional
10
public Reservation reserve(String sku, int quantity) {
11
Inventory item = inventory.findBySkuForUpdate(sku)
12
.orElseThrow(() -> new SkuNotFoundException(sku));
13
14
if (item.available() < quantity) {
15
throw new InsufficientStockException(sku, quantity);
16
}
17
18
// TODO: expire reservations after 15 minutes
19
item.decrement(quantity);
20
return reservations.save(new Reservation(sku, quantity));
21
}
22
}
TerminalProblemsOutput
$ mvn test -q
[INFO] Running ReservationServiceTest
[ERROR] concurrentReserve_doesNotOversell
expected: <0> but was: <-1>
[ERROR] expiredReservation_isReleased
[INFO] Tests run: 9, Failures: 2, Errors: 0
$
Test results play_arrowRun tests
7 of 9 passed0.84 s
check_circle reserve_decrementsStock 14 ms
check_circle reserve_unknownSku_throws 6 ms
check_circle reserve_insufficientStock_throws 5 ms
check_circle release_restoresStock 11 ms
check_circle release_twice_isIdempotent 9 ms
cancel concurrentReserve_doesNotOversell 212 ms
cancel expiredReservation_isReleased 31 ms
check_circle controller_returns201 48 ms
check_circle controller_returns409OnConflict 22 ms

Trusted by engineering teams at

Trusted by GitHub, Okta, Zalando, LSEG, SAP, Barclays.

Recognized by G2 in Fall 2026

G2 Leader, Enterprise, Fall 2026
G2 Leader, Mid-Market, Fall 2026
G2 Best Est. ROI, Enterprise, Fall 2026
G2 Most Implementable, Enterprise, Fall 2026

Codility is rated 4.6 out of 5 on G2 and ranked #1 for Enterprise Technical Skills Screening. Rankings come from verified customer reviews.

Today’s failing approach: in-house coding tests that your engineers build and mark

schedule

Failing approach 1

Engineer time

Your engineers write the test, keep it up to date and mark each submission by hand. Every new candidate adds marking time to an engineer’s week.

public

Failing approach 2

Leaked questions

If your in-house test reuses the same questions, a posted solution can give later candidates the answer before they start.

smart_toy

Failing approach 3

AI-generated answers

A candidate can paste a take-home task into an AI chat tool and submit the generated answer. The final answer alone does not show how the candidate produced the code.

extension_off

Failing approach 4

Tasks unlike the role

Your engineers can write an algorithm exercise faster than a realistic task. HackerRank’s 2025 Developer Skills Report found that 78% of developers say assessments don’t align with real-world tasks.

Replace your in-house coding test with validated work simulations

Codility Screen is a coding test platform for the screening stage of engineering hiring. Candidates complete realistic engineering tasks. You can include tasks built for a full VS Code environment. Your talent team then builds the shortlist for each role from the scored results.

Choose ready-made tasks instead of writing your own

You choose the tasks for each role from Codility’s library. The library covers technologies including React, Spring, Kubernetes and Terraform. Codility removes leaked tasks from the library.

Build with MCP also lets your engineers create tasks for parts of your stack that the library does not cover. An engineer describes the task to an AI coding assistant such as Claude, Cursor or GitHub Copilot.

The assistant then builds the task, its test cases and a reference solution. The engineer reviews the task before publishing it. Most tasks take about ten minutes from description to publication.

The difference: Codility maintains the task library, so your engineers no longer keep the test up to date.

arrow_backBack Edit assessment
check_circleSelect tasks chevron_right 2Order tasks chevron_right 3Settings chevron_right 4Save
shopping_cart4 tasks · 105 min Continue
Backend engineer (Java)
4 tasks · 105 min total. Order tasks from easiest to hardest.
addAdd tasks
TaskTechnologyDifficultyTime
drag_indicator bug_report
Fix the payment retry bug
Find and fix a bug that charges a customer twice on retry.
Java
Easy 20 min close
drag_indicator database
Order history query
Write a query that returns a customer’s order history with totals.
SQL
Medium 25 min close
drag_indicator code
Inventory reservation service
Prevent overselling when customers check out at the same time.
Java + Spring
Medium 35 min close
drag_indicator code
Ledger reconciliation jobCompany task
Match payment provider records against the internal ledger.
Java
Hard 25 min close
Task library
searchSearch tasks
All Codility Company
Technologyexpand_more Job roleexpand_more Difficultyexpand_more
Deploy a service to Kubernetes
Medium40 min
Add
Terraform module for object storage
Easy30 min
Add
Checkout form validation
Medium45 min
Add
Screenchevron_rightBackend engineer (Java)
Backend engineer (Java) Active
tuneCut score: 70% Invite candidates
Candidates Analytics Tasks Settings
Assessments completed
48
Reached the cut score
17of 48 · 35%
Score distribution
At or above cut score Below cut score
1
2
3
4
6
8
7
8
6
3
Cut score 70%
0102030405060708090
CandidateCompletedScoreTest cases passedCut scoreATS
DO
Daniel Okafor
Sep 30
76%
68 of 90 check_circleAbove cut score syncGreenhouse
MT
Sep 30
48%
41 of 90 remove_circleBelow cut score syncGreenhouse
LM
Lucas Moreau
Sep 29
91%
84 of 90 check_circleAbove cut score syncGreenhouse
SL
Sara Lindqvist
Sep 29
63%
55 of 90 remove_circleBelow cut score syncGreenhouse
AM
Sep 28
84%
77 of 90 check_circleAbove cut score syncGreenhouse
EP
Elena Petrova
Sep 28
72%
64 of 90 check_circleAbove cut score syncGreenhouse

Score submissions automatically against test cases

Codility automatically scores the output of selected task types, including coding, bug-fixing, SQL and front-end tasks. Codility’s scoring is deterministic, so the same output always earns the same score.

You set the cut score, the minimum overall score that your team expects for the role. Your talent team then sees how many candidates reached the cut score. Codility connects with applicant tracking systems (ATS), including Greenhouse, Lever, Workday and SmartRecruiters. Codility stores each result in the candidate’s ATS record. Automatically scored tasks need no manual marking by your engineers.

The difference: Automatically scored tasks use the same scoring rules for every candidate.

Review how each candidate built the solution

Codility stores the submitted code and the test-case breakdown with each result, for the period set in your retention policy. Your engineers can open the Code Evolution Chart, a timeline of how the code changed during the assessment.

Codility can also collect integrity signals, which give reviewers evidence about how the candidate produced the submission. The signals include paste events, similarity checks against other candidates and identity verification.

You decide whether candidates can use the AI Assistant in each assessment. Where the AI Assistant is enabled, every candidate interaction is captured as reviewable AI activity.

The difference: Your reviewers see how the candidate reached the answer, in addition to the answer itself.

PR
Priya RamanBackend engineer (Java)
Completed Sep 30, 2026 · Time spent 1 h 32 min
pendingAwaiting reviewer decision
linkCopy link picture_as_pdfExport PDF
Summary Candidate solution Integrity AI activity
77%Total score
Correctness
23 of 30 tests passed
Example tests2 / 2
Functional tests15 / 18
Performance tests6 / 10
Code Evolution Chart
Code size Paste event AI interaction
0 min30609092
Integrity signalResult
content_paste
Paste events
2 pastes into ReservationService.java
2 found Show in timeline
difference
Similarity check
Compared with other candidates for this task
Not found
badge
Identity verification
ID document matched the candidate
Verified
AI activityAI Assistant enabled
3 interactions captured during the assessment
auto_awesomePrompt00:38
How do I lock a row for update in Spring Data JPA?
auto_awesomeResponse00:38
Suggested a pessimistic write lock on the repository query method.
auto_awesomePrompt01:14
Why would a reservation expiry test fail with a fixed clock?
View full transcript

Questions about coding test platforms

What is a coding test platform?

A coding test platform gives candidates programming tasks and records their solutions. Codility Screen scores selected task types against test cases. An online coding test platform also stores the results for your hiring team. Talent teams use a coding test platform in place of tests that engineers write and mark by hand.

Replace your in-house test on one engineering role_

Bring one engineering role that your team currently tests in-house. Codility will show you the tasks for that role and how your team would review the scored results.

Request a free trial

One engineering role, the tasks, the scored results.