Coinbase·Software Engineer·Technical Phone Screen
Apr 2026
Coinbase software engineering interview that was basically a deep dive into iterator design in Java, all written from scratch with no IDE help. The scope was bigger than I expected, covering generics, wrapper patterns, unit tests, and complexity analysis in one shot.
- In Java, define a generic Iterator interface with hasNext() and next(), implement an ArrayIterator over a fixed array, then wrap it with a PeekingIterator that adds peek() without advancing the cursor. Write minimal unit tests covering empty input, single element, multiple elements, and calling next() past the end. Analyze time and space complexity for each component.
“This felt like four questions crammed into one.” The rest of the author's notes on Software Engineer interview at Coinbase, Technical Phone Screen round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post