Anduril Coding Interview Questions
25 Anduril coding interview problems with full optimal solutions — 8 easy, 12 medium, 5 hard. Every problem ships with multiple approaches (brute-force first, then the optimal), complexity tables for each, company-specific tips on what an Anduril interviewer values, and a FAQ section.
Showing 17 problems of 25
- #1easyfrequently asked
1. Two Sum
Find two indices in an array whose values sum to a target. Anduril uses this as a warm-up to gauge hash-map fluency and whether you can reason about the time-space tradeoff before reaching for the brute-force double loop.
- #3mediumfrequently asked
3. Longest Substring Without Repeating Characters
Find the length of the longest substring with all unique characters. Anduril uses this classic sliding-window problem to test whether you can maintain a dynamic window with O(1)-lookup membership — the same pattern appears in rate-limiting command queues and deduplicating real-time event streams on autonomous platforms.
- #15mediumfrequently asked
15. 3Sum
Find all unique triplets in an array that sum to zero. Anduril uses this to test whether you can reduce a multi-pointer problem to sorted-array two-pointer reasoning and rigorously eliminate duplicates — the same discipline required when deduplicating redundant sensor readings in a fusion pipeline.
- #20easyfrequently asked
20. Valid Parentheses
Determine if a string of brackets is properly nested and closed. Anduril surfaces this problem in early screens because stack-based state-machine reasoning maps directly to parsing command frames and protocol headers in autonomous systems firmware.
- #21easyfrequently asked
21. Merge Two Sorted Lists
Merge two sorted linked lists into one sorted list. Anduril uses this to test pointer discipline and the ability to reason about invariants — skills that transfer to merging ordered sensor-event streams from multiple autonomous subsystems without breaking temporal ordering.
- #42hardfrequently asked
42. Trapping Rain Water
Compute how much water can be trapped between elevation bars after a rainfall. Anduril frequently asks this hard problem because it has three distinct approaches at different space tradeoffs — they want to see you enumerate them, pick the O(n)/O(1) two-pointer solution, and explain the invariant rigorously.
- #53easyfrequently asked
53. Maximum Subarray
Find the contiguous subarray with the largest sum. Anduril uses this to test Kadane's algorithm fluency — a classic greedy-DP technique that mirrors the running-maximum pattern used in signal processing and telemetry anomaly detection on autonomous platforms.
- #56mediumfrequently asked
56. Merge Intervals
Merge all overlapping intervals in a list. Anduril asks this because interval merging is a real problem in mission scheduling and time-window conflict resolution for autonomous systems — you need to sort, then reason carefully about edge cases where intervals share an endpoint.
- #146mediumfrequently asked
146. LRU Cache
Design a Least Recently Used cache with O(1) get and put. Anduril frequently asks this because caching is a building block of real-time command pipelines — you need to compose a hash map and a doubly-linked list correctly and articulate why both structures are necessary.
- #200mediumfrequently asked
200. Number of Islands
Count the number of distinct land masses in a binary grid. Anduril asks this because graph traversal on a grid is the foundation of obstacle-map parsing and terrain-segmentation algorithms used in autonomous navigation — engineers need to demonstrate clean BFS/DFS reasoning on 2D state spaces.
- #206easyfrequently asked
206. Reverse Linked List
Reverse a singly linked list in-place. Anduril asks this to verify you can manipulate pointer-based data structures cleanly — a skill that transfers directly to managing sensor-data pipelines and ring-buffer node chains in embedded firmware.
- #207mediumfrequently asked
207. Course Schedule
Determine whether all courses can be completed given their prerequisites — in other words, detect whether a directed graph contains a cycle. Anduril tests this because dependency cycle detection is fundamental to build system safety, firmware task scheduling, and verifying that mission plans are acyclic before execution.
- #215mediumfrequently asked
215. Kth Largest Element in an Array
Find the kth largest element without fully sorting the array. Anduril asks this to see whether you know Quickselect — an O(n) average-time selection algorithm that demonstrates in-place partitioning discipline, the same technique used in real-time ranking systems for sensor-priority queues.
- #238mediumfrequently asked
238. Product of Array Except Self
Compute for each index the product of all other elements without using division. Anduril asks this to verify you can maintain running prefix and suffix state in a single-pass — a technique that appears in sensor-normalization pipelines where you need context from both sides of a measurement without reprocessing the full array.
- #239hardfrequently asked
239. Sliding Window Maximum
Find the maximum value in each sliding window of size k across an array. Anduril asks this hard problem because the monotonic deque pattern — maintaining a decreasing deque of candidates — is a precise data-structure technique that appears in real-time signal processing, where you need the running maximum of a bounded time window without reprocessing old data.
- #322mediumfrequently asked
322. Coin Change
Find the minimum number of coins needed to make up a given amount. Anduril uses this classic 1D DP problem to assess whether you can define the right subproblem, initialize boundary conditions correctly, and reason about infeasible states — the same structured thinking needed when minimizing resource usage in constrained mission planning.
- #347mediumfrequently asked
347. Top K Frequent Elements
Return the k most frequently occurring integers in an array. Anduril asks this to test whether you know the O(n) bucket-sort approach versus the O(n log k) heap — the same frequency-ranking logic drives mission-critical log triage and alert deduplication in real-time systems.