Anduril Software Engineer Interview Loop
Anduril's software engineer interview starts with a one-hour technical screen: an introduction and a LeetCode-medium problem. Then there's a hiring-manager call and a final onsite, which some teams hold in person at the Irvine headquarters. The coding is applied. Reported problems include detecting a graph cycle in mission software and a finite-state parser for a GPS-like protocol. Candidates call the design "napkin-level." It's about response time and trade-offs, like memory versus a database. For flight software, it's a fixed-wing flight controller. Perception and robotics roles are more specialized.
What decides it
A working solution in time, and reasoning that holds up against real-world limits. Polished abstractions matter less than whether the design would run on the hardware.
Practice by round
Easy algorithm problems on systems data, like merging sorted log streams, a running average over a sensor stream, and binary search for a timestamp. They help with the screen's warm-up and pace.
Medium and hard problems like the ones Anduril applies to real systems: detecting cycles in task dependencies, parsing a GPS sentence, shortest paths on an occupancy grid, and merging sensor streams by timestamp. Get a working solution first, then improve it.
System design with physical limits: a fixed-wing flight controller, a track store in memory or in a database, task assignment for a drone fleet, and sensor fusion on an edge device. Start from the numbers, like rates, sizes and deadlines, the way the real round does.
| Case study | Difficulty |
|---|---|
| Track Store: Memory or Database? | Medium |
| Robot Fleet Data Collection | Medium |
| Fixed-Wing Flight Controller Software | Hard |
| Edge Sensor Fusion | Hard |
| Drone Fleet Task Assignment | Hard |
Language models when the network and the hardware are limits. That means running a model with no connection, making model output safe to turn into commands, and the memory a KV cache takes on a small GPU.
| Question | Difficulty |
|---|---|
| A Language Model With No Network | Medium |
| Triage of Sensor Images | Medium |
| Testing an LLM Feature in CI | Medium |
| Model Output That Drives Commands | Hard |
| KV Cache Memory on a Small GPU | Hard |