Coinbase·Software Engineer·Onsite - System Design / Architecture
May 2026
Coinbase SWE interview focused almost entirely on designing an in-memory order stream service, which sounds straightforward until they start piling on follow-ups about state machines, idempotency, and concurrency. It was a long session and I left unsure whether I'd covered enough depth on the data structure choices.
- Design an in-memory order stream service supporting add, delete, pause, and resume operations. Define the order schema and valid state transitions, and make sure all operations are idempotent.
- What data structures would you use to support efficient lookups both by order_id and by user_id, and what are the time and space complexity tradeoffs?
- As a follow-up: implement a delete_all_by_user operation that removes all orders for a given user_id. How does this change your design?
- How would you extend this service to support persistence and handle concurrent access if required?
- Walk through example test cases that would validate the correctness of your implementation, including edge cases.
“I started with the schema and worked outward, which felt right.” The rest of the author's notes on Software Engineer interview at Coinbase, Onsite - System Design / Architecture round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post