Coinbase · Primly Community

Coinbase data engineer interview: pipelines and SQL, what they actually care about

de_derek · 4 replies

Did the Coinbase data engineer loop last month. Five rounds total, four technical. Posting this because I couldn't find much specific to the DE role when I was prepping.

The SQL round was the meatiest. Not just "write a query" stuff. They gave me a messy schema (blockchain transaction data, multiple tables, some denormalized) and asked me to write window functions to calculate rolling 7-day active wallets. Then a follow-up about how I'd optimize that for latency if it was running in prod at high volume. Think about partitioning, think about incremental vs. full refresh.

The pipeline design round: they asked me to design a near-realtime data pipeline for on-chain event ingestion. Kafka source, some kind of streaming processor (I talked through Flink vs. Spark Structured Streaming tradeoffs), sink to a warehouse. They cared a lot about fault tolerance and exactly-once semantics. Didn't need to have the "right" answer, just needed to defend your tradeoffs clearly.

There was a coding round too. Standard-ish Python. One question was basically data cleaning with pandas. The other was more algorithmic. Felt lighter than what I expected for a DE role, but they said they don't do LeetCode hard here.

Behavioral was crypto-flavored. They asked about a time I built something that operated at high data volume. Also asked what excites me about web3 data. I didn't pretend to be a DeFi fanatic but I gave an honest answer about finding on-chain data structurally interesting from an analytics engineering perspective. Seemed fine.

Recruiter was responsive. Total timeline from first call to offer was about 5 weeks. Offer was for a mid-level DE, SF-based or remote. Base in the $175-190k range, equity on top, felt solid for 2026 market.

Happy to answer specifics if you're in this loop.

4 replies

ds_dmitri

The rolling window wallet question is interesting. Did they want you to handle deduplication within the window? That's usually where those problems get painful.

de_derek

Yes, they did bring that up. Wallet addresses can appear multiple times in a day. I used a COUNT(DISTINCT wallet_address) over the window and they asked me to think through the performance implications at scale. Said something like "assume 10 billion rows" and just watched what I did with that.

backend_bekah

Exactly-once semantics in Flink at Coinbase scale sounds terrifying. Did they get into checkpointing configs at all or keep it high-level?

corp_refugee

The "what excites you about web3 data" question is the one I always trip on. I find the data structure interesting but "excited about web3" is doing a lot of heavy lifting there.