Optiver Software Engineer Interview Experience — A Brutal Four-Section OA With Coding, Pattern-Finding, and Probability
Company: Optiver
Role: Software Engineer
Round: Online Assessment
Seniority: General
Company: Optiver
Role: Software Engineer
Round: Online Assessment
Seniority: General
I think their OA basically gets sent out to everyone — I got mine right after I applied. There are four sections and the intensity is pretty high. The email doesn't mention this, but you can actually do them separately, so I'd suggest doing one section per day.
Coding
The coding section lets you go back to earlier questions, so if you don't know how to solve one, I'd suggest skipping it first. 90 minutes, on HackerRank, and you can test your code.
First question: I don't quite remember the exact wording anymore, but it wasn't hard — the core idea is counting how many arrangements there are of m a's and n b's.
Second question: stock trading. You're given orders, a 2D array like [1, 15], [-1, 30], etc. — 1 means buy, -1 means sell, and the second number is the price.
If it's a buy order, you look for the lowest sell price in orders that's less than or equal to it, execute the trade, and remove both entries; if there's no match, you keep the order. If it's a sell order, you pick the highest buy price and execute the trade the same way. In the end you return the sum of prices across all transactions that occurred.
Third question: you're given a futures price s. With probability p, the next day's price is s+x; with probability 1-p, it's s-x. After n days, what's the probability that s is less than 0?
Pattern-finding
This one really comes down to intuition. Here are a few of the sequences I can still remember — correct answer +1, wrong answer -1:
20 40 50 110 115 215 ?
15 35 45 105 110 210 ?
4 3 7 9 10 27 ?
3 7 13 19 29 37 ?
19 18 20 60 15 14 16 ?
Probability
One minute per question — pretty challenging. You really need some prior training and review to be able to answer quickly. Correct +1, wrong -1.
Mini-game
This part was pretty relaxed — comparing sizes, spotting differences. I got through it easily.