Coinbase

Coinbase

Cryptocurrency exchange platform

4 Rounds ~21 Days Hard
Start Mock Interview

The Interview Loop

Recruiter Screen (30 min)

Standard fit check, behavioral questions, and resume overview.

Technical Loop (3-4 Rounds)

Deep dive into domain knowledge, coding, and system design.

Interview Question Bank

Software Engineer Coding hard

Implement an in-memory limit order book. It should support adding a buy/sell order, canceling an order, and executing trades when buy and sell prices match.

#Data Structures #Priority Queue #TreeMap #Trading Systems
Software Engineer Coding medium

Given a list of cryptocurrency exchange rates (e.g., BTC-USD, ETH-BTC), write a function to find the best conversion rate between two specific currencies.

#Graphs #BFS #Dijkstra's Algorithm #Math
Software Engineer Coding medium

Implement a Rate Limiter using the Token Bucket algorithm to restrict the number of API requests a user can make to a trading endpoint.

#Concurrency #System Design Implementation #Object-Oriented Design
Software Engineer Coding hard

Design an in-memory Key-Value store that supports nested transactions with BEGIN, COMMIT, and ROLLBACK operations.

#Data Structures #State Management #Stacks #Hash Maps
Software Engineer Coding medium

Parse a real-time stream of trade executions and calculate the Volume Weighted Average Price (VWAP) over a rolling 5-minute window.

#Sliding Window #Queues #Stream Processing
Software Engineer Coding medium

Implement a Connect 4 game. Provide a method to drop a token into a column and a method to check if a player has won.

#2D Arrays #Matrix #Game Logic #Pair Programming
Software Engineer Coding medium

Write a thread-safe class to manage a user's cryptocurrency wallet balance, supporting concurrent deposits and withdrawals.

#Concurrency #Mutex #Locks #Race Conditions
Software Engineer Coding easy

Given an array of historical prices for a cryptocurrency, find the maximum profit you can achieve from a single buy and sell transaction.

#Arrays #Dynamic Programming #Two Pointers
Software Engineer Coding medium

Implement an LRU (Least Recently Used) Cache to store the most recently queried cryptocurrency prices.

#Linked Lists #Hash Maps #Caching
Software Engineer Coding easy

Write a function to validate if a given string is a valid Bitcoin or Ethereum address based on specific length and character set rules.

#Strings #Regular Expressions #Validation
Software Engineer Coding medium

Implement a text editor core engine that supports typing text, deleting text, and undo/redo functionality.

#Stacks #Design Patterns #Command Pattern
Software Engineer Coding hard

Design an alert system that triggers when a specific coin's price drops by more than X percent within a Y minute rolling window.

#Sliding Window #Monotonic Queue #Time Series
Software Engineer Coding medium

Given a list of server downtime intervals (start_time, end_time), merge all overlapping intervals to find the total downtime.

#Sorting #Intervals #Arrays
Software Engineer Coding medium

Implement a function to verify a transaction's inclusion in a Merkle Tree given the transaction hash, the Merkle Root, and the proof path.

#Trees #Hashing #Cryptography
Software Engineer Coding hard

Implement an in-memory order book matching engine for a single trading pair (e.g., BTC-USD). It should support adding limit buy/sell orders and market orders, and execute trades when prices cross.

#Data Structures #Priority Queues #OOP
Software Engineer Coding medium

Given a list of cryptocurrency exchange rates (e.g., BTC-USD = 60000, ETH-BTC = 0.05), write a function to find the best conversion rate between any two given currencies.

#Graphs #BFS/DFS #Shortest Path
Software Engineer Coding hard

Implement an in-memory Key-Value store that supports nested transactions with BEGIN, COMMIT, and ROLLBACK operations.

#Data Structures #State Management #Stacks
Software Engineer Coding medium

Design and implement a sliding window rate limiter for our public API to prevent abuse.

#Concurrency #Queues #System Design
Software Engineer Coding easy

Given a user's current crypto portfolio balances and a target percentage allocation, write a function to calculate the minimum number of buy/sell trades required to rebalance the portfolio.

#Arrays #Math #Logic
Software Engineer Coding medium

Write a function to merge K sorted streams of order book data into a single sorted stream.

#Heaps #Pointers #Sorting
Software Engineer Coding medium

Write a program that connects to a mock WebSocket streaming JSON trade data, parses the messages, and maintains a rolling 1-minute average price for Ethereum.

#Streaming #JSON Parsing #Queues
Software Engineer Coding medium

Implement an API wrapper that fetches a user's entire transaction history from a paginated endpoint, automatically handling rate limits and retries.

#API Integration #Pagination #Error Handling
Software Engineer Coding medium

Design a simple blockchain data structure in code. Implement blocks, cryptographic hashing (SHA-256), and a function to validate the integrity of the chain.

#Cryptography #Hashing #Linked Lists
Software Engineer Coding medium

Implement an LRU (Least Recently Used) Cache to store recent API responses for crypto price queries.

#Linked Lists #Hash Maps #Data Structures
Software Engineer Coding hard

Given an array of historical prices for a crypto asset, find the maximum profit you can achieve with at most two transactions (buy and sell).

#Dynamic Programming #Arrays
Software Engineer Coding medium

Write a parser for a simplified version of the FIX (Financial Information eXchange) protocol. Convert a raw FIX string into a structured dictionary/map.

#Strings #Parsing #Hash Maps

Difficulty Radar

Based on recent AI-sourced data.

Meet Your Interviewers

The "Standard" Interviewer

Senior Engineer

Focuses on core competencies, system constraints, and clear communication.

Simulate

Unwritten Rules

Think Out Loud

Always explain your thought process before writing code or drawing architecture.

Practice Now