Summary
I had my first technical round with Optiver, which I found surprisingly easy despite being nervous. The interview focused on designing core functions for a simple order management system.
Full Experience
When I was preparing I couldn't find any information on LC or anywhere else. I think the question was very easy; the only problem is that they don't send any prep material beforehand. This was the question asked to me. I was very nervous during the interview because everyone told that Optiver is a tough company to crack and that caused me to ramble a lot. Otherwise the questions were easy. Here are the details:
Interview Questions (1)
You are tasked with designing core functions for a simple order management system used in a trading platform. The system should support both buy and sell orders, where each order has attributes such as an order ID, order type, price, quantity, and status.
Implement the following four functions:
Add a New Order Create a function that allows adding a new buy or sell order to the system. The function should accept parameters such as: Order ID (unique identifier) Order type (buy or sell) Price Quantity
Modify an Existing Order Create a function that allows modifying an existing buy or sell order. The function should locate the order using its order ID. It should allow updating one or more fields such as: Price Quantity
Cancel an Existing Order Create a function to cancel an existing buy or sell order. The function should identify the order using its order ID. Once canceled, the order should be removed from active trading or marked with a canceled status.
Retrieve Orders by Price Level Create a function that retrieves all buy or sell orders at a given price index (price level). The function should accept an index as input and order type.
It should return all active orders that match that index and order type.