Coinbase logo

Coinbase Mobile Engineer Interview Questions

51 practice questions for Coinbase Mobile Engineer interviews

Coinbase mobile engineer interviews focus on iOS or Android platform knowledge, memory management, offline-first architecture, and mobile-specific system design.

All Roles Software Engineer Backend Engineer Frontend Engineer Full Stack Engineer Mobile Engineer Data Engineer Data Scientist ML Engineer DevOps Engineer DevOps Engineer Product Manager SRE Security Engineer Engineering Manager Data Analyst UX/UI Designer QA Engineer
coding Medium Verified Question #1

1. Generate NFT


Category: String coding problem
# Question You are designing an NFT generation engine. You are given a set of Traits, where each trait has a name and a list of possible...
Input: List
Output: Array
coding Medium Verified Question #2

2. Blockchain Mining


Category: Dynamic programming coding problem
# Question You are building a block construction module for a blockchain node. The goal is to select a subset of pending transactions to include in...
Input: Graph (nodes and edges)
Output: Computed result
coding Medium Verified Question #3

3. Crypto Trading System Stream


Category: String coding problem
# Question Design a crypto trading system that manages a stream of orders. The system should support various operations like placing, pausing,...
Input: Array of strings
Output: Computed result
coding Hard Verified Question #4

4. Design Iterators


Category: Array coding problem
# Question For this problem, you will be designing a series of different iterator classes. This problem is split into multiple related parts that...
Input: Array of integers
Output: Computed result
coding Medium Verified Question #5

5. Food Delivery System


Category: Trie-based coding problem
# Question For this problem, you will be designing a food delivery system. This problem is split into three related parts, evolving from basic data...
Input: List
Output: Computed result
coding Hard Verified Question #6

6. Transaction System


Category: Tree coding problem
For this problem, you will be designing a system to handle financial transactions and account balances. This problem is split into three related...
Input: List
Output: Integer
coding Hard Verified Question #7

7. OA[CodeSignal] Cloud File Storage System


Category: Graph coding problem
# Question Your task is to implement a simple in-memory cloud storage system that maps objects (files) to their metadata (name, size, etc.). You...
Input: Graph (nodes and edges)
Output: Array
coding Hard Verified Question #8

8. OA[CodeSignal] Design Banking System


Category: Graph coding problem
# Question Design a banking system that supports account management, transactions, and various financial operations.
Input: Graph (nodes and edges)
Output: Computed result
coding Hard Verified Question #9

9. Capital Gains Tax Calculator


Category: String coding problem
You are given a chronologically sorted list of stock transactions. Each transaction is a list of strings in the format `[<timestamp>, <type>,...
Input: Array of strings
Output: Computed result
coding Medium Verified Question #10

10. Service Log Aggregator


Category: Trie-based coding problem
A distributed system emits log entries from multiple services and worker threads. Each log entry is a colon-separated string in the format...
Input: Array
Output: Computed result
coding Hard Verified Question #11

11. OA [CodeSignal] Knowledge Base System


Category: Graph coding problem
Design and implement a personal knowledge base called KnowledgeBaseSystem that stores articles with CRUD operations. The system operates entirely...
Input: Graph (nodes and edges)
Output: Computed result
coding Medium Verified Question #12

12. OA [CodeSignal] Workspace Tracker


Category: Interval-based coding problem
Build a system to track desk workers at a shared office space. The system records when each worker enters and leaves and computes how long they have...
Input: String
Output: Array
coding Hard Verified Question #13

13. Transaction Query Engine


Category: String coding problem
Design a system to filter and paginate a list of transaction records. Each record is a list of strings in the format `[timestamp, id, userId,...
Input: Array of strings
Output: Computed result
coding Medium Verified Question #14

14. Exchange Rate Finder


Category: String coding problem
You are given a set of currency exchange relationships. Each relationship specifies a direct exchange rate between two currencies. Rates are...
Input: List
Output: Computed result
coding Hard Verified Question #15

15. Order Matching Engine


Category: String coding problem
You are managing a cryptocurrency order book. The book holds buy and sell orders placed by traders. - A buy order indicates the maximum price a...
Input: String
Output: Computed result
coding Hard Verified Question #16

16. Account Transfer System


Category: String coding problem
You are given a list of fund transfer instructions and a set of accounts with initial balances. Each transfer moves a fixed percentage of the...
Input: List
Output: Computed result
coding Hard Verified Question #17

17. Restaurant Delivery Network


Category: String coding problem
You are building a food discovery platform. Given a user's location, a list of restaurants with their coordinates, and a menu of items with prices,...
Input: List
Output: Computed result
coding Hard dynamic programming #1

1. [OA] Dynamic Programming — Calculate the optimal fee structure for Coinbase transactions.

To improve the efficiency in how fees are applied, Coinbase needs a method to determine the best strategy for applying fees based on transaction patterns using dynamic programming.
Problem statement: You are given a list of integers transactionFees, where each integer represents the fee for a specific transaction. Your goal is to minimize the total fee based on reusing previous fee additions. Return the minimum total fee for any series of transactions.
- Method: minTransactionFee(transactionFees: List[int]) -> int — Returns the minimum total fee possible.
Example 1:
Input: transactionFees = [10, 15, 20]
Output: 15
Explanation: The optimal fee by considering all transaction fees at once leads to the lowest possible fee 15.
Example 2:
Input: transactionFees = [100, 1, 2, 50, 200]
Output: 3
Explanation: The optimal choices are to skip the high fees and take the next minimal fees that lead to the least total.
Constraints:
- 1 <= transactionFees.length <= 10^4
- 1 <= transactionFees[i] <= 10^4
coding Hard sliding window #2

2. [OA] Sliding Window — Implement a real-time balance tracker for Coinbase users based on their transactions.

In order to enhance user experience, Coinbase needs a feature to provide real-time updates on user balances by tracking transactions in a sliding window.
Problem statement: Given an array of integers transactions representing the amounts of transactions made by a user over a given period, find the maximum balance within the last k transactions. This will help users quickly understand their recent financial changes.
- Method: maxBalance(transactions: List[int], k: int) -> int — Returns the maximum balance observed within the latest k transactions.
Example 1:
Input: transactions = [100, -30, 20, 50, -10], k = 3
Output: 70
Explanation: The last three transactions are [20, 50, -10], leading to a maximum balance of 70.
Example 2:
Input: transactions = [200, 400, 600, -500], k = 2
Output: 600
Explanation: The last two transactions are [600, -500], leading to a maximum balance of 600.
Constraints:
- 1 <= transactions.length <= 10^5
- -1000 <= transactions[i] <= 1000
- 1 <= k <= transactions.length

Related Coinbase Mobile Engineer interview prep

Start practicing Coinbase questions

Sign up for free to access walkthroughs, AI-generated questions, and more.

Get Started Free