Technical Assessment
TOOLS · EXPERTINI ATS

Technical Assessment

AI-generated, job-calibrated technical tests — MCQ, short answer, scenarios, and code questions — locked to your real applicants, scored into your pipeline, no separate assessment vendor needed.

4 min read · Updated July 2026 · Expertini Editorial

Between "the CV looks right" and "let's spend an hour of the panel's time" sits the most expensive gap in most hiring pipelines: nobody has verified that the candidate can actually do the work. Teams traditionally close it by bolting on a standalone testing platform — another vendor, another per-candidate fee, another login for candidates, and results that live outside the system where the hiring decision is actually made. Expertini ATS closes the same gap natively: the Technical Assessment tool builds a mixed-format test from one of your real job openings, sends it only to candidates who applied, and writes every score straight onto the candidate's application in your hiring pipeline.

The test itself is generated by AI from the job's actual description — not a generic question bank. Ask for anywhere from 5 to 50 questions and you get a calibrated mix: roughly 40% multiple-choice, 20% short answer, 20% realistic scenario questions, and 20% code-reading or code-writing questions appropriate to the role's stack and seniority. Multiple-choice answers score themselves the instant a candidate submits; open answers can be scored by your team for free, or reviewed by AI against per-question marking guidance.

TRY A REAL SAMPLE — 3 QUESTIONS FROM AN ACTUAL TECHNICAL ASSESSMENT
1 · A REST endpoint suddenly returns stale data after a deploy. Which is the most likely first thing to check?
Cache headers / CDN invalidation on the changed responses
Rename the endpoint and redeploy
Increase the server's CPU allocation
2 · A query filtering on customer_email is slow on a 10M-row table. The standard fix?
Load the table into application memory
Switch the column to full-text search
Add an index on customer_email
3 · Two services need the same validation logic. Best practice?
Copy the code into both services
Extract it into a shared, versioned library
Route every call through one service to validate
In the product, all questions are generated from your job description (5–50, mixed formats: MCQ, short answer, code, scenario). Multiple-choice auto-scores at submit; open and code answers go to AI review with per-answer human override — a score never auto-rejects anyone.
Watch the 30-second overview — no sign-up needed
5–50questions per generated test, calibrated to the job description
4question formats mixed — MCQ, short answer, scenario, code
0candidate logins, downloads, or third-party accounts required
100%of scores written onto the candidate's application in your pipeline

01How it fills the pipeline gap — a typical flow

Take a Python Developer opening with 34 applicants. CMS scoring narrows the field to twelve on documented evidence; but a CV can claim FastAPI experience without ever having handled a dependency-injection question. From the assessment page you pick the job (type-to-search across your own openings), generate a 15-question test calibrated to its real description, review and edit any question — then invite exactly those twelve candidates from a pipeline picker. Each gets a branded email; each takes the test in the browser with no account to create; MCQs are scored on submit and every result lands on the candidate's application row. The eight who clear your bar move to the interview stage with their score already attached — the gap between "looks right" and "verified" closed in an afternoon, without a single external tool.

02Locked to real applicants — and that lock is the feature

An assessment link that anyone can take produces results you can't trust and can't file anywhere. Expertini locks every assessment to candidates who actually applied to the linked job: the candidate must start with the same email address they applied with, and anyone else is asked to apply first. That lock is exactly what makes the results pipeline-native — because every attempt belongs to a known application, the score appears on the candidate's application report, in stage-by-stage pipeline views, and in the candidate's transparent audit report PDF alongside CMS scores and interview feedback. When someone asks "why did we advance this candidate?", the answer is one document, not four vendor dashboards.

03Question integrity and honest scoring

Once the first candidate has answered, the question set locks — the test stays exactly as answered, which is what keeps responses comparable and the record auditable. Candidates never see correct answers or marking guidance; those exist only on the HR side. Scoring is layered honestly: machine-checkable questions auto-score deterministically, open answers show the candidate's verbatim response next to your marking guidance, and you choose per attempt whether to score manually (free) or let AI propose per-question scores and a summary you can override. The final score is always auto + review — never a black-box verdict.

04What it costs — and what it doesn't

Generation uses 3 AI prompt credits from your plan's monthly allowance and AI review of one attempt uses 2 — manual scoring, custom hand-written questionnaires, candidate invites, and unlimited retake management cost nothing. There is no per-candidate fee, no per-test fee, and no separate assessment-vendor subscription: a standalone testing platform typically bills per candidate or per month on top of your ATS, while here the capability ships inside the same plan you already have. To protect your credits, tests can only be generated against a real job in your account.

Engineering notes

Platform architecture & operations

A1Architecture: where it sits in the platform

Technical Assessment is a first-class module of the Interviewing suite inside the authenticated Expertini ATS workspace. The platform is deliberately server-rendered: every view is prepared by the application server and shipped as complete HTML, with no client-side framework, no third-party CDN scripts, and no build pipeline between the data and the page. What renders is what the server computed — the property that makes the interface auditable.

All persistence runs on a single search-native document store; every query carries the organisation's identifier as a mandatory filter at the lowest query layer. Tenant isolation is therefore structural — a property of how every request is composed — rather than a policy that relies on application code remembering to check.

Availability is governed by the platform's tool registry: this tool is registered from the Growth plan, and access is enforced server-side by the registry gate on every request — never by hiding a button. Plans also carry a monthly distinct-tool quota (3 / 5 / 15 / 30 / 45 across Trial→Business, unlimited on Enterprise), counted at the same chokepoint. The pricing page states both honestly: what is available, and how much of it the month includes.

A2Data model and dependency map

In production the tool reads and writes assessment definitions (ats_assessments), assessment attempts (ats_assessment_attempts). Documents are plain, explicitly-mapped fields — mappings are provisioned ahead of first write, so term filters and aggregations behave deterministically instead of depending on inferred types.

Every distinct open is journalled to the tool-activity store — and that journal, not a parallel analytics system, is what the Reports section aggregates. The usage numbers you see are the numbers the platform actually recorded.

Anything that leaves the request path — notification fan-out, webhook delivery, activity journalling, mail — runs in fire-and-forget background threads. A slow external endpoint can never make the interface hang, and a failed side effect is logged rather than silently retried into inconsistency.

A3Operational considerations

Organisation-level settings, destructive actions, and connections are gated to owner and admin roles; recruiters operate the tool on the records they can see. Role changes apply on the next request — enforcement is at the route, not in the menu.

Failures are surfaced, not swallowed: server-side validation returns the exact field and reason, vendor errors are quoted verbatim where integrations are involved, and every write either confirms or reports. Exports regenerate on request rather than being cached — a report you download reflects the store at the moment you asked, not last night's snapshot.

Everything written is yours to take: CSV exports and the Data Export app cover the same stores the product itself reads. The exit is as open as the entrance — by design, not concession.

A4Interaction contract

The interface follows the platform's search-and-select convention: any field that names a real record — a candidate, client, or job — is a type-to-search picker over live data, never a free-typed string, which is what keeps activity trails and deduplication trustworthy. Static choices are filter-as-you-type combos rather than native dropdowns, and state transitions give explicit feedback: server confirmations surface as toasts, validation errors name the exact field, and nothing is shown as done that the server has not confirmed.

The wireframe and flow below document the structural contract of the surface — what panels exist, what order the states occur in, and what happens at every edge — rather than pixels. The layout is composed with native CSS grid and flexbox and adapts from wide desktop to a single column without separate mobile views.

Dependency map

Reads / writesats_assessments, ats_assessment_attempts
Access gateGrowth plan and above — enforced server-side by the tool registry
Monthly quotadistinct tools per month: Trial 3 / Starter 5 / Growth 15 … unlimited on Enterprise
Usage journalats_tool_activity (per open)
Tenancyevery query filtered by organisation id at the query layer
Side effectsbackground threads — never on the request path

Interface blueprint

Structural schematic of the surface — panels, hierarchy, and interaction affordances. A contract, not a screenshot.
Filter bar
combo: statuscombo: rangesearch
action
action
action
action
Fig. 1 — Technical Assessment: structural interface schematic. Panels and states are the contract; data shown is placeholder.

Interaction flow — states, validations, feedback

Every state below is enforced server-side; the interface reports it, it doesn't decide it.
Open listregistry gate: plan + monthly quota
Filterserver-side filters; combos over native selects
Act on a rowrecords picked, never re-typed
Server writevalidated + journalled
Feedbacktoast confirms; the row reflects the stored state
Validation failure → the field and reason, inlineConcurrent change → the list re-reads the store; no phantom rowsPlan below minimum → lock page shows the exact tier ladder
Fig. 2 — interaction flow: navy = states, gold = server-enforced gates, green = confirmed outcomes; tags list the edge cases and their feedback.

Frequently asked questions

Can anyone with the link take the assessment?
No. Assessments are locked to candidates who applied to the linked job — the candidate must use the same email address they applied with. This is what lets every score land on a real application in your pipeline instead of floating free.
Do I need a separate assessment platform subscription?
No. Assessment generation, delivery, auto-scoring, manual scoring, and AI review are all native Expertini ATS features under one subscription — no per-candidate fees and no third-party billing.
What does it cost in credits?
Generating a test uses 3 AI prompt credits and an AI review of one candidate's open answers uses 2 — from your plan's monthly allowance. Manual scoring and fully custom questionnaires are free.
Can I edit the AI's questions?
Yes — every generated question (text, options, points, marking guidance) is editable until the first candidate responds. After that the question set locks so all responses stay comparable and auditable.
Where do the results show up?
On the candidate's application report, in the hiring pipeline, and in the candidate's audit report PDF — alongside CMS scores, video interview reviews, and interview feedback.

At a glance

  • AI-generated from your real job description — never a generic question bank
  • Locked to applicants: results always belong to a real application
  • Invite candidates by email straight from the job's pipeline
  • MCQs auto-score instantly; open answers scored manually (free) or by AI
  • Question set locks once answered — auditable, comparable responses
  • No per-candidate fees, no separate assessment vendor

See technical assessment on your own hiring.

Bring a real job description to a 30-minute demo — free trial included.

Book a demo
Expertini AI
Online now
Hi! I'm Expertini's AI Product Expert. Ask me anything about our solutions, get guidance on any of our Hiring Tools, or just tell me what you're trying to do — I'll point you in the right direction. For account-specific issues, email support@expertini.com.