Coinbase Software Engineer Interview Experience — Crypto System Design, a Handwritten Iterator, and a Food Delivery Coding Round

Coinbase·Software Engineer·Jul 2025
Onsitemedium

Virtual onsite:

System Design -> Pretty much the same as a version of this question that's been reported before. It's designing a crypto currency trading system, with a third-party exchange, using a sync API to interact with that third-party exchange. I had prepared something similar before. But the interview still had some stumbling — I felt my understanding was a bit off, and only figured it out afterward: even though the interviewer said it was a sync API, it's actually still async, because an order goes through multiple state transitions. The interviewer focused a lot on asking me about the state transitions of transaction orders, and also asked how to handle it if the third-party exchange times out or fails, and how the system should handle spiky traffic.

Coding -> An Iterator problem, one question with three parts. Pretty much the same as a version of this question that's been reported before. But I want to remind everyone — go practice writing this by hand in a blank environment, to get more fluent at it. I had assumed there wouldn't be a test and that I'd need to write the tests myself. It turned out there wasn't even a starter function — you had to write everything from scratch based on the prompt. You also had to write the iterator interface, then write two classes implementing it. Normally the IDE handles a lot of this for you, and if you're writing it completely by hand, it's easy to make mistakes. I kept getting errors while writing the class and interface, and it took me a good while of trial and error before I got it running. I'm not sure if that counted against me.

Coding -> Food delivery system. One question with three parts. Felt like a fairly new problem. The first part gives you a bunch of menus and restaurants, and you find the lowest price and the nearest restaurant. The second part gives you a menu (with per-item prices) and orders, and you find the total price and count of orders within a time window, then compute the average. The third part asks for the top-K orders by total price and the top-K items by unit sales volume within a time window. The problems themselves were actually fairly simple, but writing functions and tests in Java was a bit of a struggle — I was worried I wouldn't have time to write tests, so I wrote the code fast, which made it easy to introduce small bugs. I also misread the problem at one point and had to go back and fix the code after the interviewer pointed it out. On top of that, the interviewer's problem statement had some typos — the last part was supposed to ask for the top-K items, but it was written as top-K orders, and the interviewer corrected it. (I get the feeling their actual work environment is probably like this too — not necessarily hard, but probably pretty chaotic.)

BQ -> The interviewer seemed pretty tired. Questions included: my most complex project, and an example of handling the same problem in multiple different ways.

Published

Curated and edited by PracHub

Practice the questions from this interview

Discussion

Sign in to join the discussion. The author is notified of every comment.

Loading comments…

Interview at a glance

Company
Coinbase
Role
Software Engineer
Rounds
Onsite
Difficulty
medium
Interview date
Jul 2025
Questions from this interview
3 questions

Real Coinbase interview experiences

First-hand reports from Coinbase candidates — the rounds, the questions they were asked, and how it went.

All 19 Coinbase interview experiences