Interview for the codebase they’ll join.
See how candidates understand unfamiliar code, review changes, and make improvements—with the tools they’d use at work.
Different exercises reveal different skills.
Building a small system goes beyond an isolated coding puzzle. Working in an existing repository adds another question: how will this person work with code they didn’t write?
Solve a coding problem
“Find the shortest route between two locations.”
- A function to implement
- Inputs and expected outputs
Algorithmic reasoning and choosing an efficient solution.
Build a small system
“Build an in-memory database. Then add expiration and transactions.”
- A system to design
- Requirements that expand
Designing a solution, writing tests, and adapting your own code.
Work in a codebase
“Review this checkout PR. What could go wrong, and what would you change?”
- Existing code, tests, and history
- Other people’s decisions
Understanding unfamiliar code, judging changes, and improving an existing system.
As coding changes, interviews are changing too.
AI can produce a working solution. The interview still needs to reveal whether the candidate understands it, can judge it, and knows how to check it.
Canva
Evaluate the skills the old interview missed.
Canva says its traditional interviews missed code comprehension and PR review. It redesigned questions around realistic challenges and expects candidates to use AI tools.
Read their explanationAnthropic
Even practical assessments need to evolve.
Anthropic’s performance team repeatedly redesigned a code-optimization take-home as Claude improved. Its account shows how hard it is to measure a person’s skills from the finished solution alone.
Read their explanationOpenAI
Look at how candidates think and build.
OpenAI describes assessments including pair coding and take-home projects, with attention to design, code quality, tests, and reasoning. The format and AI rules vary by team and interview.
Read their explanationBring that work into the interview.
Start with context.
Bring an exercise repository, its Git history, and a change to review. There are existing decisions to understand, not just a specification to implement.
Let them work.
Send a link to a separate browser workspace with the editor, terminal, and tests. Ask them to add a feature, fix a bug, or improve the code. Choose whether AI tools are available.
Talk through their decisions.
What did they investigate? What would they change? How did they check it? You evaluate the work and the conversation; Chunin doesn’t score candidates.