The search that ignores the filter
The cache hands the person who filtered by one city the list somebody else asked for.
AI writes code. Engineers solve problems.
Here you get a broken system with the data it left behind: code, logs and metrics. You investigate, write what is happening and what you would do, and at the end we show what it actually was, so you can see where you got it right. Challenges run from junior to staff.
A new account starts with 3 credits. No credit card.
p99 latency
340ms→8.2s
The problem
Worth knowing, genuinely: data structures and complexity show up the day you choose between an index and a cache. And a model inverts the tree faster than you can type the signature. Reading a latency graph and deciding where to start, it does not.
Invert a binary tree.
You study it, you recognise the pattern, you pass. A model does it in two seconds.
Thursday, 9pm: payments started going out twice. Here are the logs.
No pattern to recognise. You investigate, decide, and defend the call.
How it works
Every challenge hands you the system as you would find it: architecture, the code that matters, logs, metrics and config. Then it asks what you would do about it.
Input → Algorithm → Output
SysCodeLabEach step is a question in the challenge. You answer in writing, and that is what the solution compares against.
Coverage
Writing a good one takes a while: the logs have to match the story, and the solution has to survive an argument. The next ones land in these categories.
Follow the symptom back to the cause through logs, traces and code.
Find what got slow, why it got slow, and what it costs to fix.
Query plans, indexes, locks, connections and the surprises in between.
Decide what to build and defend the trade-offs you accepted.
Retries, idempotency, consistency and partial failure.
Contracts, versioning, timeouts and resilient boundaries.
The library
Each one takes 30 to 60 minutes: you read the material, write your diagnosis, and only then see the written solution.
The cache hands the person who filtered by one city the list somebody else asked for.
Under load the service exhausts its database connections. The pool config looks right.
FAQ
Not yet. Today you get the system (context, architecture, code, logs, metrics) and you answer in writing: what is causing this, what you would change, what that choice costs, and how you would know it worked. Running the broken system yourself is on the roadmap.
Almost never. A solution different from ours can be right when the trade-off holds up. Every challenge opens with the root cause, the fix we would pick, the alternatives and how to validate it. It is there to compare reasoning, not to mark you against a key.
A new account gets three credits and a challenge costs one, so you can start without paying. Buying more credits does not exist yet.
People walking into a senior or staff interview, and people who want the production scars without waiting for the next outage.
Not yet. That is the next step for the product, and there is a page about it, with a waiting list, linked in the footer.
Yes. The interface and the challenges are published in English and Brazilian Portuguese. Code, logs, commands and technology names stay as they are.
Create an account, pick one, and write down what you would do. It takes 30 to 60 minutes, and nobody is timing you.
3 credits on a new account. No card.