HRT SWE OA 面试复盘|70 分钟四题,状态模拟和树结构如何拿分
! HRT OA 面经配图 HRT 的 SWE OA 节奏快,70 分钟里切四道题,最怕的是读完题就直接开写。题目本身不靠冷门套路取胜,状态有没有定义清楚、分支有没有收全,往往更拉开差距。第一题要尽快建立可跑版本,后面三题每题都留两三分。
! HRT OA 面经配图 HRT 的 SWE OA 节奏快,70 分钟里切四道题,最怕的是读完题就直接开写。题目本身不靠冷门套路取胜,状态有没有定义清楚、分支有没有收全,往往更拉开差距。第一题要尽快建立可跑版本,后面三题每题都留两三分钟重读样例和约束。
第一题:Debugger 状态模拟
题目描述
实现一个小型调试器。输入给出代码行数、断点集合和执行命令;命令会单步运行、跳转到指定行、添加或删除断点。每次命令执行后返回当前行号、是否暂停,以及下一步允许的操作。
解题思路
把当前行号、断点集合和运行状态拆开存。断点用哈希集合,查询是 O(1);每条命令先校验目标行是否落在合法范围,再更新行号,最后检查新位置是否命中断点。 jump 与 step 不能共用一段含糊的分支,否则跳到最后一行和越过最后一行会混在一起。测试至少写命中断点、删除当前断点、跳到边界和连续 step 四组。
第二题:Reversi 棋盘落子
题目描述
给定 N×N 棋盘和一连串落子操作,每次落子后要沿八个方向翻转被夹住的对方棋子,最后输出棋盘。非法落子要原样忽略,不能改变当前局面。
解题思路
用八个方向向量逐方向扫描。每个方向先连续收集对方棋子坐标,直到碰到己方棋子才提交翻转;先改棋盘再判断终点会把不完整的链条也翻掉。把“在边界内”“对手棋子”“己方棋子”分别封装,小循环就不会被坐标判断淹没。扫描一条方向是 O(N),单次落子为 O(N)。
第三题:N 叉树的前序合并
题目描述
输入两棵 N 叉树,节点都有 ID 与任意个子节点。按前序遍历输出合并结果:相同 ID 的节点合并属性,子节点顺序保留首次出现的位置,没有配对的节点继续保留。
解题思路
先为第二棵树建立 id -> node 索引,再 DFS 第一棵树。访问一个节点时合并自身属性,然后按原顺序递归子节点;第二棵树未被访问到的节点放入补充列表,最后附到约定位置。递归函数应返回新节点而不是原地反复改输入,这样重复 ID、空子节点和共享对象更容易测试。树总节点数为 n 时,时间和空间都为 O(n)。
第四题:四进制受限数字计数
题目描述
给定整数 n,统计不超过 n 且四进制表示只含 0 和 1 的正整数个数。n 可达到 64 位范围,逐个枚举会超时。
解题思路
把 n 转成四进制,从高位到低位做数位 DP。状态只需记录当前位置和前缀是否已经小于 n;当前位只能选择 0 或 1,选择值小于 n 的当前位时,后续直接进入自由状态。用记忆化缓存 (pos, tight) ,并单独处理 0 是否计入答案。这个题先写三组小值手算表,再验证临界位是 0、1、2、3 的分支。
做题过程
HRT 这类 OA 不适合一题卡十几分钟。优先把输入输出、异常规则和数据范围写在草稿上;第一题跑通后立刻进入下一题。剩余时间优先回查数组下标、空集合和最后一个元素,别把隐藏测试交给运气。关于线上测试与后续技术轮的题目范围,可对照 HRT SWE 候选人流程记录 做限时演练。
备考建议
连续四题训练时,把计时器设成 70 分钟。模拟题里至少放一道规则很长的状态题和一道树题,练习把条件写成小函数。提交前先看一遍整数范围与递归深度;在共享编辑器或 OA 里,这两个细节往往比换算法更值得花时间。
FAQ
HRT SWE OA 要优先复习什么?
状态模拟、DFS、哈希索引与数位 DP 都值得过一遍。更重要的是限时下读清约束,尤其是“是否合法”“是否原地修改”“相等时如何算”。
四道题来不及写完如何办?
先保证已完成题目能过边界,再挑最接近完成的一题补全。不要为了最后一题把前面已经可提交的代码改得不稳定。
参考来源
HRT SWE 候选人流程与题目记录 HRT Software Engineer 候选人经验 HRT 近期 OA 题目分享
联系 VOPathway
如果你希望把这套方法用于自己的 OA 或 VO 准备,可以把目标岗位、当前阶段、面试时间和主要难点发给 VOPathway,我们会据此安排针对性的练习与复盘。
- 微信:Coding0201
- 邮箱:[email protected]
- Telegram:@OAVOProxy
- WhatsApp:+86 178 6396 8105
可提供 OA辅助、OA辅导、VO辅助与 VO辅导。文章用于训练参考,不代表相关公司的官方流程;实际安排请以候选人收到的通知为准。
本文用于面试准备与训练复盘。公司名称仅用于标识题型素材主题,不代表官方合作或录用承诺。
预约一次训练复盘 ↗