65 practice questions for Uber QA Engineer interviews
Uber QA engineer interviews test automation frameworks, test strategy, CI integration, performance testing, and debugging complex multi-service systems.
1. Top 6 Recently Asked Uber System Design Questions
Category: Graph system design problemThis collection covers the most frequently asked system design questions at Uber interviews.Input: Graph (nodes and edges) Output: Computed result
system designSeniortest automation#1
1. [OA] Test Result Aggregator — design a scalable aggregator for test results
As Uber scales its testing infrastructure, it's essential to have a robust mechanism that can efficiently aggregate results from various automated tests, analyze performance, and report statistics. Your challenge is to design a TestResultAggregator class that consolidates test results.
Method 1: void addResult(TestResult result) — Accepts a test result and adds it to the internal storage.
Example 1: Input: addResult(testResult) Output: void Explanation: The result is stored in the aggregator.Example 2: Input: getStatistics() Output: Statistics Explanation: Returns the aggregated statistics from previously added results.Constraints:
The number of test results will not exceed 10000.
system designSeniorcaching#2
2. [OA] LRU Cache — design the caching layer for Uber’s API responses
As Uber's service scales globally, efficient caching mechanisms become essential for optimizing API performance and reducing latency. Your challenge is to implement an LRU Cache to handle frequently accessed API responses.
Method 1: void put(String key, Value value) — Stores a value in the cache with the associated key.
Method 2: Value get(String key) — Retrieves the value for the key and refreshes its access order.
Example 1: Input: put('user_1', data) Output: void Explanation: The data for user_1 is stored in the cache.Example 2: Input: get('user_1') Output: data Explanation: The function returns the cached data for user_1.Constraints:
The capacity of the cache is defined as N, with a maximum value of 1000.