目录
正在加载目录...

Roblox OA 面经|要玩小游戏还要编程,Coding 两题全过

Roblox OA 和普通大厂不太一样。打开任务列表,前面先是几段限时小游戏 / 决策任务,最后才是 Coding Skills。结构和 Optiver 那种分模块限时有点像,每段开始后就必须在时限内做完,不能中途切换。

我这场大致是:Robots 25 分钟、Factories 25 分钟、Decision-Making 25 分钟、Outpost: Mars 40 分钟,最后 Coding Skills 50 分钟、两道题。前面几段按说明操作就行,别在小游戏上耗太久。Coding 两道都拿了满分,思路记一下。

Roblox OA 面经|要玩小游戏还要编程,Coding 两题全过

整体流程&注意事项

平台会提示:每个 task 可分开完成,但一点开始就必须在时限内做完。我这边列表里还有「Access My Assessments」入口,Coding 单独计时 50 分钟、两道 Single-Function,满分各 300。 注意:有的任务会要求本机已登录 Roblox 客户端,开始前确认账号和环境,避免卡在启动页空耗时间。

Coding Skills(50 分钟 / 2 题)

第一题:4×4 缺失数字方阵重排

Roblox OA 面经|要玩小游戏还要编程,Coding 两题全过

题目

大矩阵 mat 尺寸是 4 × (4 * n),由 n 个并排的 4×4 小方阵组成。每个 4×4 里本来应有 1~16,但缺一个数,用 “?” 表示。

要求:

  1. 对每个 4×4,算出缺失数字,把 “?” 换成该值
  2. 按这些缺失值升序重排各个 4×4 方阵;若缺失值相同,保持原来在大矩阵里的相对顺序
  3. 返回更新后的 mat

思路

先按列把大矩阵切成 n 个 4×4。对每个小方阵:数字和应为 1+…+16 = 136,用 136 减去已有数字之和,就是缺失值,填回 “?”。 然后带着「缺失值 + 原始下标」排序,稳定排序保证同值时顺序不变。最后按新顺序把 4×4 再拼回 4 × (4*n) 的矩阵。实现时注意下标换算,别把行列切错。

第二题:股票交易机器人最大化收益

Roblox OA 面经|要玩小游戏还要编程,Coding 两题全过

题目

prices[i] 是第 i 天股价;algo[i] 是原计划,0 表示买、1 表示卖。每天固定买或卖一股。 可以选一段长度为 k 的连续区间,把这段全部改成「卖」(algo 里改成 1)。 在始终有足够股票可卖的前提下,选这段区间使总收益最大。 收益 = 所有卖出价之和 − 所有买入价之和。

示例:prices = [2,4,1,5,2,6,7],algo = [0,1,0,0,1,0,0],k = 4,答案为 21。

思路

先按原 algo 算一遍基础收益。 若某天原来是买(0),改成卖(1),收益会增加 2 * prices[i](少付一次买、多收一次卖);若原来已是卖,改成卖则增益为 0。 据此构造增益数组,再在增益数组上做长度为 k 的滑动窗口,取窗口和的最大值。 最终答案 = 基础收益 + 最大增益。注意窗口不要越界,k 大于数组长度时按题意处理即可。

一点体感

Roblox OA 前面的 Robots / Factories / Decision-Making / Outpost 更像限时小游戏或情景任务,和纯刷题不是一路;Coding 才是熟悉的算法实现。时间是分段锁死的,建议:

  • 非编程段按说明操作,别卡太久
  • Coding 50 分钟两道,第一题偏模拟 + 排序,第二题是「原收益 + 滑动窗口最大增益」
  • 两题都过满分是可行的,把状态和边界写清楚更重要

没把握或时间紧的同学,可以提前熟悉这类「切矩阵 / 滑动窗口改策略」的题型。其他大厂 OA、VO辅助 有需要也可以一起聊。

END