51 practice questions for Coinbase QA Engineer interviews
Coinbase QA engineer interviews test automation frameworks, test strategy, CI integration, performance testing, and debugging complex multi-service systems.
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
codingMediumVerified 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
codingMediumVerified 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
codingHardVerified 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
codingMediumVerified 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
codingHardVerified Question#6
6. Transaction System
Category: Tree coding problemFor 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
codingHardVerified 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
codingHardVerified 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
codingHardVerified Question#9
9. Capital Gains Tax Calculator
Category: String coding problemYou 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
codingMediumVerified Question#10
10. Service Log Aggregator
Category: Trie-based coding problemA 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
codingHardVerified Question#11
11. OA [CodeSignal] Knowledge Base System
Category: Graph coding problemDesign 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
codingMediumVerified Question#12
12. OA [CodeSignal] Workspace Tracker
Category: Interval-based coding problemBuild 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
codingHardVerified Question#13
13. Transaction Query Engine
Category: String coding problemDesign 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
codingMediumVerified Question#14
14. Exchange Rate Finder
Category: String coding problemYou 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
codingHardVerified Question#15
15. Order Matching Engine
Category: String coding problemYou 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
codingHardVerified Question#16
16. Account Transfer System
Category: String coding problemYou 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
codingHardVerified Question#17
17. Restaurant Delivery Network
Category: String coding problemYou 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
codingHardgraph#1
1. [OA] Graph Traversal — Ensure API response validation service for Coinbase
In the context of the rapidly changing environments of cryptocurrencies, validating API responses is essential. This requires implementing a utility that verifies response hierarchies and correctness in tests. Problem statement: You need to create a function that performs a depth-first traversal on a response structure that is represented as a graph to validate if a given response satisfies a specific hierarchy. This function should return all valid nodes that meet the criteria within the API response hierarchy. - Method Signature:def validate_api_response(node: Dict[str, Any], criteria: Callable[[Dict[str, Any]], bool]) -> List[Dict[str, Any]] Example 1: Input: {'node': {'valid': true, 'level': 1}, 'children': [{'valid': true, 'level': 2}]}, criteria = (node) => node['valid'] Output: [{'valid': true, 'level': 1}, {'valid': true, 'level': 2}] Explanation: Both nodes are valid according to the criteria. Example 2: Input: {'node': {'valid': false}, 'children': [{'valid': false}, {'valid': true}]}, criteria = (node) => node['valid'] Output: [{'valid': true}] Explanation: Only the last node meets the criteria.Constraints: - 1 <= len(node) <= 1000 - Each node has structure {'valid': bool, 'level': int}
codingHardsliding window#2
2. [OA] Sliding Window — Optimize the transaction testing framework for Coinbase
Coinbase handles thousands of transactions per second, so testing the transaction handling process efficiently is crucial. You need to develop a method to validate a stream of transactions for valid timestamps within a certain window. Problem statement: Implement a function that verifies whether there are any duplicate timestamps in a stream of transactions that occur within a specified windowSize (in seconds). Your method should return true if a duplicate exists within that window, and false otherwise. - Method Signature:def has_duplicate_transactions(transactions: List[Tuple[int, int]], window_size: int) -> bool Example 1: Input: [(1, 100), (2, 101), (3, 103), (4, 104), (5, 106)], window_size = 5 Output: False Explanation: No duplicates within 5 seconds. Example 2: Input: [(1, 100), (2, 101), (3, 102), (4, 103), (5, 106), (6, 102)], window_size = 5 Output: True Explanation: Duplicate timestamp 102 found within 5 seconds.Constraints: - 1 <= len(transactions) <= 10000 - 0 <= transactions[i][0] <= 1000000 - 1 <= window_size <= 1000