Stage 1 of 3: Fix changing a password
Background. A team kanban board service: boards have columns, columns hold cards. API.md is the contract every endpoint is held to. The code is in layers: *_routes.py handle requests, *_service.py hold the rules, *_repository.py read and write db.py.
Support has two reports about changing a password with PUT /me/password: a user who changed theirs cannot sign in with the new one, and some new passwords that API.md allows are refused. 2 tests in tests/test_part1_password.py fail.
Find the causes and fix them. Don't change the public interface.
Done when Submit goes green.
Constraints
- Python 3.12+ standard library only
- Time limit: 5 seconds per test file
- Editable:
user_service.py,card_routes.py,card_service.py,card_repository.py - Read-only:
API.md, the other modules,test_helpers.py, the public tests intests/
What comes after stage 1
The next stages open once the tests for the one before them pass. Each raises the bar, the way an interviewer does in the room.
- Stage 2: Add cards to a column. The board can show cards but not add them: build the missing endpoint through every layer, keeping the board's rules.
- Stage 3: Move and delete cards. Cards move between columns and get deleted, and every column's order has to stay intact.
The files you get
- Yours to edit: user_service.py, card_routes.py, card_service.py, card_repository.py.
- Read-only: API.md, app.py, user_routes.py, user_repository.py, board_routes.py, board_service.py, board_repository.py, passwords.py, auth.py, models.py, db.py, framework.py, test_helpers.py, tests/__init__.py.
- Tests you can read and run: tests/test_part1_password.py. Hidden tests run on Submit.
The round: an agent in the editor
The assistant here works like the one in the interview IDE. It reads your files, runs code and proposes changes, and you accept or reject each one. It doesn't volunteer ideas, so what gets built is what you asked for. Along the way the interviewer asks about your decisions, and at the end the report says what you checked and what you accepted unread.
Frequently asked, briefly answered
Is Kanban Board API: Cards, Moves and Passwords free?
It is a Pro problem. Free plan includes one complete problem, plus the first stage of several more, so you can see how a round works before you pay.
Which company asks something like this?
Atlassian. It is modelled on Atlassian's round: AI-assisted coding round (about an hour): a small existing web app in HackerRank's AI IDE (plan and agent modes) or CoderPad with Claude; plan with the assistant, then add missing features across the routes, service and repository layers or fix a backend bug, graded by the existing tests and how you validate the assistant's output.
Do I bring my own AI tool?
No. The assistant is in the editor, same as in the interview IDEs at Meta, Stripe and Amazon. What you choose at Begin is the format: an agent that proposes changes you accept or reject, an answer-only assistant that can't write code, or no assistant at all.
What does the interviewer ask?
4 questions along the way about your own code, and one at the end about the whole session. A weak answer gets one follow up. The answers go into the report, which ends with a hire or no hire verdict.
Start the problem
Sign in and the problem opens where you left it. New here? An account takes a minute to create, and the Pro plan starts at the first stage of this problem.
More like it: every practice problem, how Atlassian runs its AI round, the AI coding interview guide.