System design interview question
"Design a digital wallet. Users top up from a bank, hold a balance with us, pay merchants, and send money to each other. The balance must never go negative and must never be spent twice. 200 million users."
concurrency control over a mutable, user-owned resource. Unlike a pure ledger (append-only, no constraint to check), a wallet has a hard invariant — balance ≥ 0 — that must be enforced under concurrent spends. The double-spend race is the heart of the question, and the candidate's answer reveals how well they understand isolation, locking, and optimistic concurrency.
On Practick another engineer interviews you live for 60 minutes on a question from this bank. They have the full interviewer guide beside the call: the answers to your clarifying questions, the numbers to hand out, a ladder of follow-ups and a scoring rubric. You get the model solution once the session settles. It is free: interview someone for an hour and you have earned your own.
Book a free mock interviewAll 132 system design interview questions
System design mock interviews · DSA interview questions · Free mock interview practice · Browse interviewers · Sign in