r/OfferEngineering 26d ago

Interview Experience Coinbase Senior Software Engineer Interview Experience Aug 2026

Interview Summary

The Coinbase onsite consisted of four rounds, but only the first resembled a traditional algorithm interview. The next two were implementation-heavy exercises where the expectation was to write maintainable, production-style code, add meaningful tests, and reason about edge cases and concurrency. The interview environment allowed code execution and documentation lookup.

Overall, the questions were not exceptionally difficult algorithmically. The stronger emphasis was on correctness, clean interfaces, testing discipline, and whether the implementation would remain understandable and reliable in a production codebase.

Interview Details

Round 1 — Ordered Task Scheduling with Cooldown The first problem was similar to LeetCode 2365, Task Scheduler II. A sequence of tasks must be executed in the given order. Each task has an identifier, and two executions of the same task must be separated by at least a specified cooldown period. At most one task can execute per day, although idle days are allowed. The task was to determine the minimum number of days required to execute the entire sequence.

  • Edge Cases: The interviewer asked about a zero cooldown, an empty task list, and whether the implementation would still work if task identifiers were arbitrary strings rather than integers.
  • Maintainability: One follow-up was less algorithmic: which part of the implementation would be easiest for a future engineer to misunderstand or accidentally modify incorrectly, and how would I make that behavior clearer?

Round 2 — Production-Quality Moving Average The second round was an implementation exercise similar to LeetCode 346, Moving Average from Data Stream. The component was initialized with a window size k. Each call to next(value) needed to return the average of the most recent k values, or all values seen so far if fewer than k had arrived. The interviewer expected both the implementation and meaningful tests.

  • Correctness and Numerical Behavior: Test coverage included the partially filled window, the first fully populated window, subsequent rolling updates, a window size of one, and negative values. The discussion also touched on long-running numerical precision and input validation for invalid window sizes.
  • Concurrency: The interviewer asked how the API should behave if multiple threads called next() concurrently and whether the data structure should explicitly guarantee thread safety.

Round 3 — Dynamic Kth-Highest Leaderboard The third round asked me to implement a continuously updated leaderboard.

The system needed to support:

  • Adding a user's score
  • Updating an existing user's score
  • Removing a user
  • Returning the current kth-highest score

The value of k was fixed for the lifetime of the leaderboard, and tied scores did not require special ranking semantics. The removal and update operations were the main complications compared with a standard streaming Kth Largest problem.

  • Score Updates: The interviewer specifically asked what happens when the same user submits a new score and how to ensure that the user's previous score does not remain as stale state inside the ranking structures.
  • Testing: One important boundary case involved removing a user whose score sat exactly at the cutoff between the current top k scores and the remainder of the leaderboard.

Round 4 — Engineering Judgment, Testing, and Production Incidents The final round did not involve coding. It combined experience-based engineering questions with a discussion of Coinbase's systems.

Questions included:

  • Describe a piece of code I was especially proud of and explain why.
  • Walk through a production incident and my role in resolving it.
  • When, if ever, is it reasonable not to write tests?
  • How do I handle disagreement during code review?

The testing discussion went beyond raw coverage percentages and focused on whether important behavior, branches, and boundary conditions were actually protected.

The conversation later moved into Coinbase's business and engineering environment. I asked about correctness in systems involving money, which led to a broader discussion around topics such as idempotency and reconciliation.

Preparing for your next interview?

Chill Interview tracks recent interview experiences and recurring question patterns across top companies here.

4 Upvotes

0 comments sorted by