Anduril SWE OA 面试复盘|70 分钟两道题,区间流和边界测试如何写
Anduril 的 SWE 筛选题时间很紧,写完主逻辑不够,还得把输入边界和增量数据处理干净。70 分钟两道 Coding,第一题先拿下可运行版本,第二题留出十分钟补测试,节奏会舒服很多。
Anduril 的 SWE 筛选题时间很紧,写完主逻辑不够,还得把输入边界和增量数据处理干净。70 分钟两道 Coding,第一题先拿下可运行版本,第二题留出十分钟补测试,节奏会舒服很多。
第一题:乱序到达的区间流合并
题目描述
输入是一串持续到达的时间区间,每次加入新区间后都要返回已经合并好的结果。一个新区间会与多个旧区间相交,也会插在现有区间中间;输入顺序不保证按起点排列。
解题思路
把已合并区间按起点存进有序数组。新数据到来后,用二分定位插入点,再向左检查是否接壤,向右吞并所有重叠区间,最后一次性替换那段窗口。这个题的关键不是把两个区间合起来,而是连续重叠时不能漏掉第三段。若调用方会频繁查询,可以把数组换成按起点索引的平衡树,插入后只扫描相邻节点。 复杂度 :单次插入定位为 O(log n),数组移动和合并最坏为 O(n)。
第二题:照片队列的双组约束
题目描述
给定两组候选人的身高与站位要求,把两组排成两行。每一列都要满足前后关系,同时要处理重复身高、人数不同和无法排出的输入。
解题思路
先分别排序,再逐列检查同一位置的大小关系。不要用“前面只要存在一个更矮的人”替代逐列判断;那会让排列语义变掉。实现时把比较方向做成一个小函数,先尝试 A 在前,再尝试 B 在前,两个方向都失败就直接返回空结果。这个拆法能把边界条件集中在一处,测试也更清楚。
做题过程
第一题先写三个例子:完全不重叠、一个新区间跨过两段旧区间、端点刚好相等。第二题至少覆盖重复值和两组人数不等。Anduril 的技术轮会继续追问需求细节,做题时优先把“端点相等算不算重叠”“两行谁在前”问清楚,比后面返工更省时间。
备考建议
练习时把区间题从静态合并改成流式插入,逼自己写出每一步的状态变化。照片题则适合练接口约束:函数返回什么、非法输入如何处理、排序会不会改动原数组。关于面试轮次和技术主题,可以对照 Anduril SWE 候选人经验 做一遍口述演练。
FAQ
Anduril SWE OA 里最容易丢分的地方是什么?
不是算法名字,而是把边界写成了隐含假设。区间端点、重复元素、空输入和原地修改都要在动手前定下来。
写完主逻辑后还要做什么?
优先跑最小样例和反例,再补复杂度说明。面试官追问时,能指出数据规模和替代数据结构,会比只给出代码更完整。
参考来源
Anduril Software Engineer 面试题与流程 Anduril New Grad SWE 候选人记录 Anduril SWE Intern 面试经验
联系 VOPathway
如果你希望把这套方法用于自己的 OA 或 VO 准备,可以把目标岗位、当前阶段、面试时间和主要难点发给 VOPathway,我们会据此安排针对性的练习与复盘。
- 微信:Coding0201
- 邮箱:[email protected]
- Telegram:@OAVOProxy
- WhatsApp:+86 178 6396 8105
可提供 OA辅助、OA辅导、VO辅助与 VO辅导。文章用于训练参考,不代表相关公司的官方流程;实际安排请以候选人收到的通知为准。
本文用于面试准备与训练复盘。公司名称仅用于标识题型素材主题,不代表官方合作或录用承诺。
预约一次训练复盘 ↗