Say you're building a key-value store. Step 1 is get, set, delete, count. Once your tests pass, Step 2 unlocks: expiring keys. Then nested transactions. Then atomic batches.
I built this because I couldn't find a good place to practice for multi-step, multi-file questions. The questions are based on ones people have reported from those loops.
Check it out at https://loopprep.dev.
There are 24 questions, 3 free, and no signup to try them.
Happy to answer questions.