Recently I took a classmate to brush a set Two Sigma OA, the questions are not difficult, but they very much test thinking modeling. Unlike OA from ordinary major manufacturers, it is more focused on real scenarios (such as traffic statistics, resource optimization). The key is not writing code, but whether you can quickly abstract the problem into a correct model. Many students are not stuck on implementation, but stuck on "how to think". This set of OA has a very high degree of differentiation: those who are good at modeling can quickly perform AC, but those who are not can easily get stuck directly.
Let’s sort out the real questions and core ideas this time to give you a reference.

Two Sigma OA basic information
- Platform: Typically HackerRank/CodeSignal
- Duration: 75 minutes
- Number of questions: 2 questions
- Difficulty: Medium → Medium+ (thinking)
Topic 1: Server traffic monitoring
Question description
In a client-server architecture, there are N Clients and 1 server. Each client-server interaction starts from the time Start[i] Start, time End[i] End (endpoint time also counts towards interaction duration).
The definition of maximum traffic is: the maximum number of concurrent interactions that the server can handle at the same time.
Please find the earliest time point when the maximum number of concurrent clients occurs.
Example
Given Start = [1, 6, 2, 9],End = [8, 7, 6, 10]
Sheet
| Time | Connection status | Number of active clients |
|---|---|---|
| 1 | Client 1 access | 1 |
| 2 | Client 3 access | 1,3 → 2 |
| 3 | – | 1,3 → 2 |
| 4 | – | 1,3 → 2 |
| 5 | – | 1,3 → 2 |
| 6 | Client 2 access | 1,2,3 → 3 |
| 7 | Client 3 disconnected | 1,2 → 2 |
| 8 | Client 2 disconnected | 1 → 1 |
| 9 | Client 1 disconnects, client 4 connects | 4 → 1 |
| 10 | – | 4 → 1 |
| 11 | Client 4 disconnected | 0 |
The maximum number of concurrencies is 3, and the earliest occurrence is at the 6th second, so return 6.
Problem-solving ideas
Event splitting: Convert the start time of each client to(time, +1)Connection event, the end time changes to(time, -1)Disconnect event.
Event sequencing: Priority is given in ascending order of time; when the times are the same, the connection event (+1) is ranked before the disconnection event (-1) to ensure accurate endpoint time calculation.
Traversal calculation: Process sorted events sequentially and dynamically maintain the current number of concurrent connections. Whenever the number of concurrency refreshes the maximum value, the current time is recorded, and this time is the answer.
Question 2: Maximum throughput
Question description
Our system has a pipeline consisting of multiple data processing units, and the throughput of each unit is Throughput[i] Express. The cells are concatenated in sequence and the data must pass through each cell in turn. So, the total throughput of the pipeline is determined by the unit with the smallest throughput, which is the bottleneck that limits the overall processing speed.
Each service can be scaled independently:
- No.
IThe cost of expanding the capacity of a service once isScaling_cost[i] - Expanding service capacity
XAfter times, its throughput becomesThroughput[i] * (1 + x)Messages/minute
Given two lengths of N Array of Throughput(Initial throughput of each service),Scaling_cost(Single expansion cost of each service), and an integer Budget(total budget), please find the optimal expansion plan to maximize the throughput of the final service (that is, the total throughput of the pipeline).
Example
Given Throughput = [4, 2, 7],Scaling_cost = [3, 5, 6],Budget = 32
The optimal expansion plan is as follows:
Sheet
| Service index | Throughput before expansion | Throughput after expansion | Number of expansions | Single expansion cost | Total cost |
|---|---|---|---|---|---|
| 0 | 4 | 12 | 2 | 3 | 6 |
| 1 | 2 | 10 | 4 | 5 | 20 |
| 2 | 7 | 14 | 1 | 6 | 6 |
After expansion, the throughputs of the three units are 12, 10, and 14 respectively. The total throughput of the pipeline is determined by the minimum value of 10, which is the maximum value that can be achieved under this budget, so the answer is 10.
Function requirements
Completion function GetMaximumThroughput, the parameters are as follows:
Int throughput[n]: Initial throughput of each serviceInt scaling_cost[n]: The cost of a single expansion of each serviceInt budget: total available budget
Problem-solving ideas
Using the binary answer method, the core is to guess the throughput T of the final pipeline and find the maximum feasible value. Specifically, first determine the reasonable range of T, then conduct a feasibility verification on each candidate T, calculate at least how many times each service needs to be expanded to ensure that the throughput is no less than T, and summarize the total expansion costs of all services. If the total cost does not exceed the budget, then T is feasible. Then adjust the bisection direction according to feasibility. If it is feasible, try a larger T, and if it is not feasible, try a smaller T. After the bisection is completed, the maximum feasible T is the maximum throughput that the pipeline can achieve.
Two Sigma OA 2026 FAQ
What’s the next step after Two Sigma OA?
The one behind my side is Tech Screen. This round mainly examines the implementation of basic data structures. The interviewer requires you to write a hashmap by hand. You cannot use any ready-made hashtable library. You need to implement the two core operations of get and put yourself. The overall idea is to solve the hash conflict problem based on bucket array and linked list. At the same time, the rationality of the design needs to be considered, such as conflict handling method, time complexity, and whether it supports expansion. The difficulty is not particularly high, but the requirements for basic mastery and code details are relatively solid.
What programming languages does Two Sigma OA support? Are there any version restrictions?
Two Sigma's OA generally supports mainstream programming languages, such as Python, Java, C++, etc. The specific optional languages will be clearly stated in the OA invitation email. Don’t worry too much about versions. Common Python 3.x, Java 8 and above versions are supported by default. The differences between different versions are very small and will basically not affect the question-taking process, and no additional compatibility processing is required. Just use it according to your usual habits.
Preparation tips for Two Sigma OA
If you are preparing for OA that is more modeling and thinking-focused like Two Sigma, many times the problem is not the code, but how to transform ideas. This is why many students have solved a lot of questions but still get stuck when it comes to the actual OA. We have been accompanying quantitative/big factory OA for a long time, and have compiled a relatively mature question framework and OA assistance Experience. If you are pressed for time or want to pass OA more steadily, you can come and have a chat and give you a more targeted preparation plan based on your current level.