Optiver·Software Engineer·Onsite - Coding / Algorithms
May 2026
Ninety-minute coding gauntlet at Optiver with three back-to-back problems spanning DP, heap design, and NP-hard approximation. The breadth was a lot to cover in the time given, and the third problem in particular felt like it was testing whether you'd panic or just commit to something reasonable.
- Given an integer array and a threshold T, count the number of non-empty subsequences with sum at most T. Explain why brute force fails, justify your approach (DP or otherwise), and give complexity analysis.
- Implement a job scheduler supporting INSERT, POP (smallest priority with stable tie-breaking), and DECREASE_KEY operations, all guaranteed O(log n), using a binary heap. Handle invalid and duplicate operations gracefully.
- For selecting k items from n to minimize total score given item weights and pairwise penalties (an NP-hard problem), propose and implement a greedy or simulated annealing heuristic. Cover initialization, stopping criteria, and how you'd measure approximation quality against a baseline.
“The brute force explanation part tripped me up more than the actual DP.” The rest of the author's notes on Software Engineer interview at Optiver, Onsite - Coding / Algorithms round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post