7.27 做了一套 HRT OA ,平台还是 CodeSignal,70 分钟四题。和 TikTok、Uber、Visa、Capital One 这类公司用的是同一套题库风格,出题很有规律:前两题偏 Easy,第三题矩阵模拟,第四题数据结构优化。今天把题目和思路整理出来,给正在准备的同学参考。
目前这套平台相关真题和全对代码已经整理了 130+,可以覆盖绝大部分题。大家可以提前看题库准备,有需要帮忙或真题的随时私聊。

第一题:最高性价比商品
给定两个正整数数组 prices 和 ratings(1~5),找 rating / price 比值最高的商品下标。比值相同取最小下标。
时间复杂度不劣于 O(n³) 即可。

思路 直接遍历一遍,维护当前最大比值和对应下标即可。注意用浮点比较,或者用交叉相乘避免精度问题。题很简单,几分钟就能过。写的时候别忘了初始化第一个元素,并在比值相等时保留更小的下标。
第二题:小鸟筑巢
数组 forest 里正整数是树枝长度,0 是空位。小鸟初始在某个 0 的位置,按规则交替向右、向左飞去捡树枝:每次飞到最近的一根,带回起点,再换方向,直到巢里树枝总长度达到 100。

思路 模拟即可。维护当前方向(先右后左交替),从当前位置往该方向找最近的正数,累加长度,把该位置置 0,回到起点,换方向,重复直到总和 ≥ 100。注意边界和没有更多树枝的情况。如果某一侧已经没有树枝,需要判断是否还能继续换方向寻找,避免死循环。
第三题:最长对角线模式匹配
矩阵元素只有 0、1、2。找最长的对角线段,满足模式:以 1 开头,之后 2、0 无限重复(1, 2, 0, 2, 0, …),且必须结束在矩阵边界(第一/最后一行或列)。可从任意位置出发,沿任意对角线方向。
时间复杂度不劣于 O(rows² × cols²) 即可。

思路 枚举所有可能的起点(值为 1 的位置)和四个对角线方向,沿该方向一步步走,检查是否符合模式,同时记录是否碰到边界。维护最长合法长度。注意模式的下标对应关系和越界判断。只有整条路径都符合模式且终点落在边界上时才更新答案,中途不匹配就提前结束当前方向。
第四题:唯一字节累计
航天员接收文件分段,每个 segment 是一个闭区间 [start, end](1-based)。segments 可能重叠。每接收完一个 segment,计算当前总共收到多少个唯一字节,返回每次接收后的累计唯一字节数数组。

思路 经典区间覆盖问题。可以用差分数组或有序集合维护已覆盖的字节范围,每次合并新区间后统计总覆盖长度。注意 64 位范围,不能直接开数组,需要用离散化或动态数据结构。每次插入新区间时合并重叠部分,避免重复计算,最终返回的是每次合并后的总覆盖长度序列。
整体感受
CodeSignal 这套 70 分钟四题的规律很稳定:前两题送分,第三题矩阵模拟,第四题数据结构和区间处理。平时把矩阵遍历、模拟、区间合并练熟,再配合题库里的原题,通过率会高很多。
最近 HRT、TikTok、Uber、Visa、Capital One 等公司的 OA 都在持续。Interview Show 专注北美技术岗位的面试辅助,团队来自一线大厂,提供 OA 辅助、真题题库和 VO mock。有需要的同学随时私聊。
祝大家顺利通过 OA!