See the goods

A real generated assessment, opened up

The complete 28-question assessment generated for one real opening — Entry-Level AI Software Engineer — exactly as a recruiter previews it: every question format, keyed answers, model answers, scoring rubrics, and the examiner's reasoning. Permanently retired from the bank.

Questions are generated in the assessment's language — this sample shows English plus one Japanese language-gate item.

questions
27
questions
question formats
6
question formats
pillars measured
6
pillars measured
min session
60
min session

The job description

Entry-Level AI Software Engineer · Tokyo Engineering Hub · Hybrid · Band A

We are looking for an ambitious Entry-Level AI Software Engineer to help build and scale our core AI capabilities. You will build production-ready backend services with Python and FastAPI to securely interact with LLM APIs, design and relentlessly refine prompts, build fault-tolerant AI workflows with Temporal, and instrument everything with OpenTelemetry…

What the engine decided

Scored pillars (from the real config)

BehaviouralSituationalCognitiveDomainAI Fluency

Add-ons

AI Sandbox · Starter+Japanese · JLPT · min. N4 · +10 min

Smart weighting: the engine computes weights from role and seniority — locked at the first candidate.

Language is a pass/fail gate — never folded into the composite.

The generated assessment

Session: 28Q · ~60min

Signature formats

Three formats no test library can offer — from this same assessment.

AI SANDBOXThe USP — candidates work WITH AI

Your team uses an AI assistant to summarise meeting notes for a public project channel. The current prompt produces summaries that are too long, unstructured, and — worse — repeat WHO said what, which the team agreed must never appear in the public channel. Fix the prompt so the summary is a short, structured digest of decisions and action items with no personal attributions.

Starter artifact

Summarize these meeting notes.

TEST INPUTS

Meeting notes — Project Falcon sync, Tuesday. Priya said the vendor contract is delayed again and blamed the legal review backlog. Marcus argued we should switch vendors. After a long discussion, the group decided to (1) extend the current vendor contract by one month, (2) have the ops team prepare a fallback vendor shortlist by Friday, and (3) move the launch date to the 15th. Dana volunteered to update the customer FAQ. Priya will chase legal daily. There was also a side discussion about the office move that reached no decision.

Write your prompt to the AI assistant…

Pass criteria

  • Summary contains no attendee names or personal attributions
  • Summary keeps the three decisions (vendor extension, shortlist, launch date)
  • Summary is a bulleted or numbered list, not prose paragraphs
  • Summary is concise and readable at a glance (secondary)(secondary)

Verification Behaviour · 50%

Strong answer looks like: Diagnosed the root cause aloud in the prompt structure (the original gave no output contract at all), fixed both failures in one targeted revision, and used a final run to confirm rather than explore

Weak answer looks like: Resubmitted near-identical prompts without reading the failing test cases; no evidence of understanding WHY the summary leaked names or ran long

Prompt Craft · 30%

Strong answer looks like: Well-structured prompt with delimited input, explicit inclusion AND exclusion rules, output format specification, and an edge-case instruction (what to do when no decisions were made)

Weak answer looks like: Vague single-sentence prompts with no format, length, or exclusion constraints

Domain Grounding · 20%

Strong answer looks like: Handled confidentiality like a practitioner: excluded personal attributions categorically, kept decisions actionable without blame, and the summary stays useful to someone who was not present

Weak answer looks like: Ignored the confidentiality risk entirely — names or blame language survive in the output with no attempt to control them

LANGUAGE GATE · AUDIOAudio · single-play enforcedJLPT · ja

Bonus: language-gate audio question

音声の内容に基づき、新しい搭乗ゲート番号を選びなさい。

  1. 42番
  2. 58番
  3. 27番
  4. 73番

In the real assessment the audio plays exactly once (enforced at the database level). Here you can replay it.

VIGNETTE SETOne scenario · three scored decisions

Shared stimulus

INCIDENT REPORT — 03:12 JST Checkout service error rate jumped from 0.2% to 14% over 20 minutes. The last deploy finished at 02:41. A dependency (payments-gateway SDK) released a new version yesterday. On-call engineer restarted one pod at 02:58; error rate briefly dipped, then returned. Black Friday sale starts at 09:00.

1.What is the FIRST action you take?

  1. A.Roll back the 02:41 deploy
  2. B.Restart all pods
  3. C.Pin the payments SDK to the previous version
  4. D.Page the payments vendor

Why this answer: The deploy is the most recent controlled change and rollback is reversible in minutes; pod restarts already showed the failure isn't process-local, and the SDK pin is a build-level change that takes longer than a rollback.

2.The rollback completes but errors stay at 14%. What does that MOST strongly suggest?

  1. A.The deploy was not the cause
  2. B.The rollback failed silently
  3. C.Traffic volume is the cause
  4. D.The database is corrupted

Why this answer: A completed rollback that changes nothing points away from the deploy — attention shifts to the environment change: yesterday's SDK release reaching production paths.

3.Given the 09:00 sale, which communication is MOST appropriate now?

  1. A.Wait until root cause is confirmed
  2. B.Notify stakeholders of impact, current status, and a next-update time
  3. C.Announce the sale will be delayed
  4. D.Post a public status page outage immediately

Why this answer: Structured stakeholder communication with a committed next update is the incident-management standard; premature public announcements or silence both create larger problems.

#1WRITTEN ANSWER

In Python 3.12, you are designing a utility function that needs to accept an arbitrary number of non-keyword arguments (e.g., item identifiers) and an arbitrary number of keyword arguments (e.g., processing configuration options). How would you define this function's signature, and how would you access both types of arguments inside the function body?

0 / 200 Words

Model answer

To accept arbitrary non-keyword arguments, use `*args`, and for arbitrary keyword arguments, use `**kwargs` in the function signature (e.g., `def process_items(*args, **kwargs):`). Inside the function, `args` is a tuple containing all non-keyword arguments, and `kwargs` is a dictionary containing all keyword arguments passed by keyword.

Correctness · 60%Depth · 40%

Want one generated for your job description?

Join the early-access waitlist — we'll generate a real assessment from one of your open roles.

Want one generated for your job description?