Coinbase Software Engineer interview questions

122 Software Engineers have shared notes from their Coinbase interviews, with the questions they were asked in each round. That is 58% of the 210 Coinbase interview notes on Screna AI.

122 Software Engineer interview notes

Coinbase·Software Engineer·Technical Phone Screen

Jul 2026
Coinbase software engineering interview that was basically one long design problem broken into four escalating parts. The scope kept expanding and by the end I was sketching out merge logic for user histories which I did not see coming at all.
  • Design an in-memory banking system with account creation, deposits, and transfers between users. How do you handle error cases like unknown users or insufficient funds?
  • Add a method to return the top K accounts ranked by total outgoing spend. What data structure do you use and how do you define tie-breaking?
  • Extend the system to support scheduled future payments with unique IDs, cancellation, and a mechanism to advance time and execute due payments.
  • Implement a mergeUsers operation that combines two accounts, preserves full transaction history, and handles any scheduled payments that involved the source user after the merge.

“Pretty standard starting point but I fumbled the error handling spec a bit.”

View Post

Coinbase·Software Engineer·Technical Phone Screen

Jul 2026
Coinbase SWE interview with a meaty in-memory system design coding problem. The whole session was basically one big question about building a task management system from scratch, with layers added as you went. Felt like a LeetCode-style OOP problem but with enough edge cases to keep you honest.
  • Design and implement an in-memory task management system supporting task CRUD, priority-based listing, user quotas, task assignment with TTL, and completion/expiration rules.
  • Return the top N tasks by priority, and also return the top N tasks by priority whose name contains a given substring.
  • Implement task assignment with TTL: assign a task to a user at a given startTime with a duration, enforce user quota limits on active assignments, and support listing a user's active assignments at time t.
  • Implement task completion: allow completing a task for a user at time t, prevent completing an expired assignment, and when multiple active assignments exist for the same user-task pair, complete the one with the earliest startTime.

“This is one of those problems that looks like a data structures question but is really about keeping your design clean under pressure.”

View Post

Coinbase·Software Engineer·Technical Phone Screen

Jul 2026
Coinbase software engineering interview focused entirely on designing a mini in-memory database with cursor-based pagination. The problem sounds straightforward but the follow-ups get into some genuinely tricky territory around cursor encoding and duplicate scores.
  • Design an in-memory database that stores rows with an id, score, and payload, and implement a query that returns all rows where score is at or above a given minimum, sorted by score ascending then id ascending.
  • Implement cursor-based pagination for the query above: the client sends a cursor representing the last row seen, and the server returns the next page of results plus a nextCursor, or null if there are nothing left.
  • How do you encode the cursor so it is stable and unambiguous across requests?
  • When many rows share the same score, how do you ensure no rows are duplicated or skipped across page boundaries?
  • What is the time complexity of your solution, and how would you scale it for datasets with up to a million rows?

“The sorting part is easy enough, composite sort on score then id.”

View Post

Coinbase·Software Engineer·Technical Phone Screen

Jul 2026
Coinbase SWE interview with a dynamic programming problem that looked straightforward but had enough moving parts to keep you honest. The transaction fee twist changes the whole approach and they wanted proof of correctness too, not just working code.
  • Given an array of daily stock prices and a fixed fee applied on each sale, find the maximum profit you can make with unlimited buy-sell transactions. They want an O(n) solution, a correctness argument, and handling for edge cases like empty input or prices that only go down.

“The fee-per-sell detail is what makes this not just a standard stock problem.”

View Post

Coinbase·Software Engineer·Online Assessment (OA)

Jul 2026
Coinbase SWE online assessment, the whole thing was a single evolving in-memory database problem split into four parts. Each part built on the last so you couldn't really skip ahead or ignore earlier code. Pretty classic OA format but the TTL and backup/restore parts had enough edge cases to keep you on your toes.
  • Implement a basic in-memory key-value store with put and get operations, where each record has a string key, string value, and integer timestamp. Multiple writes to the same key should return the most recent value.
  • Extend the database to support a scan operation that returns all key-value pairs whose keys share a given prefix, sorted lexicographically.
  • Add optional TTL support to the put operation so entries expire after a given number of seconds. Get and scan should not return expired entries.
  • Add backup and restore functionality. Backup should capture all non-expired entries at a given timestamp and return an ID. Restore should bring the database back to that snapshot, with TTLs adjusted so remaining lifetime is preserved relative to the restore time.

“Straightforward enough.”

View Post

Coinbase·Software Engineer·Technical Phone Screen

Jul 2026
Coinbase software engineering interview with a deep systems question about building an iterator library from scratch. Single question but it covered a lot of ground, from lazy combinators to invalidation semantics to unit tests. Felt more like a take-home that got crammed into a live session.
  • Design and implement a full iterator library supporting range(start, end, step) with forward and backward traversal, inclusive and exclusive endpoints, negative steps, and overflow-safe termination. Include lazy combinators (map, filter, zip, take, drop, chain) each using O(1) space, a PeekableIterator with peek() and hasNext(), and discuss whether reset()/rewind() is feasible without materializing the sequence. Also define iterator invalidation rules when the underlying collection mutates, and write unit tests for edge cases like zero step, empty ranges, very large ranges, and negative steps.

“This was a lot.”

View Post

Coinbase·Software Engineer·Technical Phone Screen

Jul 2026
Coinbase software engineer interview with a coding question around building a Bank account class. Pretty straightforward OOP problem but the edge cases around overdraft prevention and cashback logic are where things get interesting.
  • Design and implement a BankAccount class with Deposit, Withdraw, and CashBack methods. The class should prevent overdrafts and return the updated balance after each operation.

“Felt pretty confident going in since I'd done similar OOP stuff before.”

View Post

Coinbase·Software Engineer·Technical Phone Screen

Jul 2026
Coinbase software engineer screen, one coding question the whole time. Pretty straightforward concept but the edge cases are where they actually want to see you think.
  • Design and implement a pagination helper class that takes an array and a page size, and returns the correct slice of items for a given zero-based page index. Handle out-of-range page numbers gracefully.

“Seemed easy at first and I jumped straight to the slicing logic, which was a mistake.”

View Post

Coinbase·Software Engineer·Technical Phone Screen

Jul 2026
Coinbase frontend interview where they had me build a full autocomplete component from scratch. Pretty involved for a single session, covering debouncing, async fetching, keyboard nav, and styling the active state all at once.
  • Build an autocomplete input component that debounces user input, fetches suggestions asynchronously, renders the list, supports up/down arrow key navigation with the active item highlighted, and submits the selected value on Enter.

“This was a lot to juggle in one question.”

View Post

Coinbase·Software Engineer·Technical Phone Screen

Jul 2026
Coinbase SWE interview had me extending a basic banking system with deferred payment scheduling. Pretty meaty design problem for a single coding round, more interesting than the usual LeetCode grind.
  • You have a basic banking system with users, balances, deposits, and transfers. Extend it to support scheduled payments: implement schedulePayment(from_user, to_user, amount, execute_at) that queues a transfer for a future time and returns a unique payment ID, and cancelPayment(payment_id) that cancels a pending payment and returns whether it succeeded.

“The baseline system was handed to me, so the real challenge was figuring out the right data structures for the scheduling layer.”

View Post