Sweaty Imposter

Practical Round

AI-Assisted Coding Lab

The AI-assisted coding round gives you a small, loosely specified feature in an existing codebase and a coding assistant. What gets graded is judgment: which suggestions you keep, which you fix, and which you throw away. Some of this assistant's suggestions are wrong in the ways real ones are.

Junior

3 Tasks
  • JuniorPython · 4 suggestions · 8 tests · 30 min

    Validate a Signup Form

    Validate a Python signup form's username, email, and password with a scripted assistant, and catch the suggestions that break the rules.

    The signup page needs server-side validation for its three fields. The README has the rules, and signup.py already checks username length and the password's letters and digits. Build the rest with the assistant: accept, edit, or reject each suggestion, and keep the tests green.

    Start the Task
  • JuniorPython · 4 suggestions · 9 tests · 30 min

    Paginate Search Results

    Page through a Python search result list with a scripted assistant: the slice, the page count, and the Next and Previous flags.

    The search page needs to show results a page at a time. The README has the rules, and pagination.py has the Page type and the outline of paginate. Build it with the assistant: accept, edit, or reject each suggestion, and keep the tests green.

    Start the Task
  • JuniorPython · 4 suggestions · 8 tests · 30 min

    Total a Shopping Cart

    Add up a Python shopping cart with discount codes and cent rounding, working with a scripted assistant.

    The checkout page needs a cart total with two discount codes. The README has the rules, and cart.py has the shape of the code. Build it with the assistant: accept, edit, or reject each suggestion, and keep the tests green.

    Start the Task

Mid

4 Tasks
  • MidPython · 4 suggestions · 10 tests · 45 min

    Find Free Time in a Calendar

    Merge calendar busy times and find the free slots in a working day with a scripted assistant, then decide which changes to keep.

    The scheduling assistant needs a person's free time for a day, worked out from their busy intervals. The README has the rules, and free_time.py has the time helpers and the outline. Build it with the assistant: accept, edit, or reject each suggestion, and keep the tests green.

    Start the Task
  • MidPython · 4 suggestions · 7 tests · 45 min

    Add Expiry to an LRU Cache

    Add a TTL to an existing Python LRU cache with a scripted assistant, then decide which of its changes to keep.

    The pricing service caches prices in an LRU cache, and product wants entries to go stale after a TTL. The README has the rules. Build it with the assistant: accept, edit, or reject each suggestion, and keep the tests green.

    Start the Task
  • MidPython · 5 suggestions · 10 tests · 40 min

    Add Retries With Backoff

    Build a Python retry helper with exponential backoff, jitter, and a deadline, working with a scripted assistant.

    The billing service calls a payment provider that times out under load, and every caller has its own retry loop. Build one shared helper with the assistant. The README has the rules. Accept, edit, or reject each suggestion, and keep the tests green.

    Start the Task
  • MidPython · 4 suggestions · 8 tests · 40 min

    Chunk Documents for Search

    Split help articles into overlapping word chunks for a search index in Python, working with a scripted assistant.

    The help center's search indexes articles in overlapping chunks of words. The README has the rules for normalizing text and cutting chunks. Build chunks.py with the assistant, and check each window boundary as carefully as the tests do.

    Start the Task

Senior

3 Tasks
  • SeniorPython · 4 suggestions · 8 tests · 45 min

    Add Expiring Share Links

    Add expiring, revocable share links to a Python design-sharing module with a scripted assistant.

    Designers want to share a design with people outside their team through links that expire and can be revoked. The README has the rules, and share_links.py has the data model. Build it with the assistant and decide what to keep.

    Start the Task
  • SeniorPython · 5 suggestions · 12 tests · 45 min

    Store Uploads Under Safe Paths

    Turn client-supplied filenames into safe storage paths in a Python upload service with a scripted assistant.

    Users upload attachments, and the upload service stores each file under the name the client sent. The README has the rules, and uploads.py has the store. Build the path handling with the assistant and decide what to keep.

    Start the Task
  • SeniorPython · 4 suggestions · 6 tests · 40 min

    Run Schema Migrations in Order

    Build a Python schema migration runner with a scripted assistant: version order, duplicates, late merges, and the run log.

    The deploy tool needs a migration runner that applies each SQL file once, in order, against the production database. The README has the rules, including the cases that come from several branches merging at once. Build migrate.py with the assistant and decide what to keep.

    Start the Task

Staff

3 Tasks
  • StaffPython · 5 suggestions · 11 tests · 45 min

    Verify Signed Webhooks

    Verify a payment provider's signed webhooks in Python with a scripted assistant: signatures, a replay window, and dedupe.

    The payment provider posts signed webhooks for every invoice event, and the billing service charges, emails, and writes the ledger on each one. The README has the provider's contract and the operational stakes. Build the receiver with the assistant, and judge each suggestion by what it would do in production as well as by the tests.

    Start the Task
  • StaffPython · 4 suggestions · 9 tests · 45 min

    Roll Out Feature Flags by Percentage

    Build percentage rollouts for Python feature flags with a scripted assistant: stable buckets, boundaries, and overrides.

    Product ramps features through flags, and the API runs as many processes that restart on every deploy. The README has the rules and what goes wrong in production when assignment drifts. Build flags.py with the assistant, and judge each suggestion by how it behaves across the whole fleet.

    Start the Task
  • StaffPython · 5 suggestions · 7 tests · 45 min

    Page a Feed With Cursors

    Build cursor pagination for a large Python feed: tie-breaks, the last page, untrusted cursors, and the index.

    The mobile apps page through a home feed of hundreds of millions of posts, and the cursors they hold come back days later. The README has the rules and the operational stakes. Build feed.py with the assistant, and weigh each suggestion against the table's size and the fact that cursors are client input.

    Start the Task

Principal

3 Tasks
  • PrincipalPython · 5 suggestions · 8 tests · 50 min

    Upcast Versioned Payment Events

    Upcast six years of versioned payment events in Python with a scripted assistant, where every bug lands on every replay.

    Twelve teams consume the payments event log, and each replays it in full when it rebuilds state. Consumers read through upcast, which brings any event to the latest schema. The README has the schema history, the rules, and the stakes. Build events.py with the assistant, and judge each suggestion by what it would do to every consumer and every replay.

    Start the Task
  • PrincipalPython · 4 suggestions · 6 tests · 45 min

    Route Tenants With a Hash Ring

    Route tenants to database shards with a consistent hash ring in Python, where every routing change moves data.

    Tenants are spread across database shards by a consistent hash ring that two services, in two languages, must compute identically. The README has the ring's rules and why every routing change is a data migration. Build shards.py with the assistant, and judge each suggestion by what it would do to tenants' data.

    Start the Task
  • PrincipalPython · 4 suggestions · 8 tests · 45 min

    Compare Shadow Reads Before a Cutover

    Shadow reads from a new datastore in Python, and build the mismatch rate a cutover decision rests on.

    Accounts are moving to a new datastore, and the decision to cut over will rest on a shadow comparison running in production. The README has the rules and what each one protects. Build shadow.py with the assistant, and judge each suggestion by whether the number it produces can be trusted and what it risks on the login path.

    Start the Task

The Phases

  1. Plan
  2. Build With the Assistant
  3. Make the Tests Pass
  4. Explain Your Choices

How the Lab Works

The assistant is scripted, and no code runs in the browser. Every test result was computed ahead of time by running the real tests against each combination of accepted, revised, and rejected suggestions, so Run Tests shows what the file would really do.

You can edit the code by hand. Tests that depend on a hand edit that matches no scripted version are skipped, and the summary asks you to check that edit against the reference.