Skip to main content

10 Optiver Software Engineer (New Grad) Interview Questions (2026)

Optiver's new-grad SWE loop in 2026 emphasizes C++ proficiency, systems-level thinking, and the ability to discuss low-latency design intuitively. Engineers and traders share office space and culture; expect probability questions to appear on engineering rounds. The firm runs separate loops for Amsterdam, Chicago, Sydney, and Hong Kong offices.

By Sam K., Founder, InterviewChamp.AI · Last verified

Loop overview

Recruiter outreach → online coding/logic test → first-round phone (coding + C++ concepts, 45-60 min) → onsite of three to four rounds: coding round (C++ heavy), system design, behavioral, sometimes a probability/mental-math round shared with the trading track. Timeline 4-6 weeks. Optiver compensates new-grad SWEs well by industry standards.

Behavioral (2)

Tell me about a project where you optimized for performance.

Frequently asked

Outline

STAR. Pick a real optimization — profiling baseline, identifying bottleneck, applying a specific change, measuring improvement. Optiver values measurement discipline. Quantify everything: baseline latency, target, achieved.

Reported by candidates on Glassdoor (not independently verified)

Why Optiver's SWE role rather than a FAANG?

Frequently asked

Outline

Specific reasons: pure market-maker culture (no clients, no proprietary research bets), flat hierarchy, fast career progression for performers, low-latency engineering challenge, global presence. Avoid 'high pay' as the lead. Reference Optiver's history and engineering specifics if you have read them.

Reported by candidates on Glassdoor (not independently verified)

Coding (LeetCode patterns) (3)

Implement a function to detect whether a number is a power of 2.

Frequently asked

Outline

Bit manipulation. n is a power of 2 iff n > 0 AND n & (n-1) == 0. Reason: powers of 2 have exactly one set bit; subtracting 1 flips all lower bits and clears the set bit. Walk through with examples (4 = 100, 4-1 = 011, AND = 0; vs 6 = 110, 5 = 101, AND = 100 nonzero). O(1) time.

Reported by candidates on Glassdoor (not independently verified)

Implement a function that returns the longest common prefix of an array of strings.

Frequently asked

Outline

Horizontal scan: take first string as candidate prefix; for each remaining string, trim candidate until it's a prefix. O(S) total where S is sum of characters. Alternative: vertical scan — character at index i across all strings. Mention divide-and-conquer for theoretical interest. Walk through example.

Reported by candidates on Levels.fyi (not independently verified)

Implement a function that returns whether two strings are anagrams.

Occasionally asked

Outline

Two approaches: (1) Sort both strings, compare. O(n log n) time, O(n) space. (2) Count character frequencies in both, compare maps. O(n) time, O(k) space where k is alphabet size. Walk through; choose hash-based for optimal. Edge cases: different lengths return false, Unicode considerations.

Reported by candidates on Glassdoor (not independently verified)

Technical (4)

Explain how std::shared_ptr works internally.

Frequently asked

Outline

Reference-counted pointer. Internally: pointer to managed object + pointer to control block (containing reference count and weak count). Copy increments count atomically; destructor decrements. When count reaches 0, deletes object. When weak count also 0, deletes control block. Discuss thread safety: count is atomic, but the pointed-to object is NOT thread-safe automatically. Performance: atomic increment is non-trivial; pass by const& when possible.

Reported by candidates on Glassdoor (not independently verified)

What is the difference between move semantics and copy semantics in C++?

Frequently asked

Outline

Copy: produces an independent duplicate of an object (deep copy of owned resources). Move: transfers ownership of resources from source to destination, leaving source in a valid but unspecified state. Move is cheaper than copy for resource-owning types (string, vector, unique_ptr). Use std::move to cast to rvalue reference, enabling move constructors. Discuss when move helps (returning large objects, transferring containers).

Reported by candidates on Glassdoor (not independently verified)

What happens at a kernel context switch?

Occasionally asked

Outline

OS scheduler picks a new thread, saves current thread's CPU state (registers, instruction pointer, stack pointer) to its task struct, loads new thread's state. If new thread is in a different process, also switch page tables (flushing TLB). Cost: ~1-10 microseconds. Discuss why this matters in trading — context switches in hot paths kill latency. Tools: cgroups, CPU pinning, real-time scheduler (SCHED_FIFO) to reduce switches.

Reported by candidates on Glassdoor (not independently verified)

Given a fair coin, simulate a fair 3-sided die.

Occasionally asked

Outline

Flip the coin twice, treat as 2-bit number (00, 01, 10, 11). Map 00→1, 01→2, 10→3, 11→reject and retry. Expected 4/3 trials. Discuss why rejection sampling is needed — direct mapping of 4 outcomes to 3 categories must be non-uniform. Walk through the algorithm.

Reported by candidates on Reddit (not independently verified)

System / object-oriented design (1)

Design a system that matches buy and sell orders.

Frequently asked

Outline

Components: (1) Order book: sorted by price-time priority. Buy side max-heap by price; sell side min-heap by price. (2) Match engine: on new order, match against opposite side until exhausted or no overlap. (3) Persistence: append-only event log for recovery. (4) API: receive orders, broadcast trades and book updates. Discuss tradeoffs: in-memory vs persistent, throughput vs latency. Walk through a sample match.

Reported by candidates on Glassdoor (not independently verified)

Optiver interview tips

  • C++ is dominant at Optiver. Brush up on RAII, move semantics, smart pointers, undefined behavior, and atomic operations.
  • System design rounds focus on order books, matching engines, and low-latency systems. Read a basic intro to market microstructure.
  • Probability questions can appear on the engineering loop — Optiver's culture blends engineering and trading. Brush up on basics.
  • Coding bar is high. Practice medium-hard LeetCode patterns in C++ specifically.
  • Behavioral round tests calm-under-pressure and intellectual humility. Cocky storytelling fails.

Frequently asked questions

How long is Optiver's SWE interview process in 2026?

Most candidates report 4-6 weeks from initial contact to offer. Onsite-to-decision is often within 1-2 weeks.

What programming languages does Optiver use?

C++ is dominant in production trading systems. Python for research and some tooling. Some Java in cross-functional services.

Does Optiver sponsor visas?

Yes. Amsterdam HQ supports EU relocations; Chicago supports US H1-B with standard lottery odds. Sydney and Hong Kong offices offer alternative paths.

What does day-to-day SWE work at Optiver look like?

Trading-platform engineers work on order matching, risk systems, and exchange connectivity. Tooling engineers build research and operational platforms. Pace is fast; cycle time from idea to deployment is short.

Can I reapply to Optiver after rejection?

Yes, after a 12-month cooldown.

More Optiver interview questions

Software Engineer (New Grad) interview questions at other companies