目录
正在加载目录...

Tiktok OA 四题 Codesignal | Interview Aid依旧可以秒AC

Tiktok OA 四题 Codesignal | Interview Aid依旧可以秒AC

Tiktok OA 已经陆续开始发了,根据带过的学生反馈,今年题目还是有一些变化,难度也比较高,但是总体来说还是比较熟悉的套路。 复盘整理了一下,给同样在准备的留学生们一个参考:

平台:CodeSignal 4题70分钟左右,前两道偏基础,后面两道难度medium-hard左右。全程开摄像头+屏幕共享,中断、黑屏、断网都会判fail。

Tiktok OA

Q1

题目:给定一个由 0/1 组成的内存数组(0 表示空闲,1 表示占用),内存按 8 对齐,支持 alloc x 操作:在起始位置必须是 8 的倍数的前提下,找到最左边一段长度为 x 的连续空闲空间并分配(标记为占用并赋唯一 ID),若找不到则返回 -1。

思路:模拟一个内存管理系统。给定一个 0/1 数组表示初始占用情况。需处理两种指令:alloc x 寻找左起第一个起始下标为 8 的倍数 且连续 x 个空闲的块,成功则标记并返回下标(ID 累加);erase ID 则释放对应 ID 的所有空间 思路: 维护一个与内存等长的数组记录每个位置所属的 ID(0为空)。执行 alloc 时,以 8 为步长循环遍历合法起点,检查后续 x 位是否全为 0。若符合,填充当前计数器 ID 并自增。执行 erase 时,全盘扫描并将匹配 ID 的位置重置为 0,返回清除的总数。

Q2

题目:给定一个整数数组,统计其中所有连续子数组中满足“奇偶交替”(相邻元素奇偶性不同)的锯齿序列个数。

思路:统计数组中所有满足“奇偶交替”性质的连续子数组数量。锯齿序列要求序列中相邻两个元素的奇偶性必须不同(即:偶, 奇, 偶… 或 奇, 偶, 奇…)。单个元素也视为长度为 1 的合法锯齿序列 思路: 遍历数组并维护当前连续交替的长度 cur。若当前数与前一个数奇偶性不同,则 cur 加 1;若相同,则交替中断,cur 重置为 1。由于以当前位结尾的合法子数组个数正好等于 cur,将其累加至总和即可

Q3

题目:从起点 0 出发,反复走到最近的充电站并用无人机把货物往前送(无人机尽量飞远),直到到达目标位置,计算整个过程中人步行搬运货物的总距离。

思路:从0 走到 target,可以借助一些点 p[i],从 p[i] 走到 p[i]+10。你要统计的是实际步行的总距离,也就是去掉那些“借助点跳过去”的部分。贪心做法:先把点排序,然后每轮找当前位置之后能用的点,把从当前位置走到那个点的距离加到总距离里,再把当前位置更新成那个点 +10,继续走,直到到达或超过 target。就这么模拟,贪心选的可用点。

Q4

题目:给定多个段落、每段的左对齐或右对齐方式,以及每行最大宽度 width,要求按单词顺序尽量填满每一行,不足部分按指定方向补空格,并在整体外面加一圈 * 边框,最终返回排版后的报纸页面。

思路:按题目要求的格式排序。每组单词,我们维护当前行的长度,用双指针遍历单词,拼接进当前行,如果拼不下就新开一行。输出的时候,根据题目说的 left/right 对齐方式,把每行调整成对应的格式就行。

准备小结

如果你也在准备 Amazon Intern 或其他大厂的 OA/VO,可以直接联系 interviewAid 了解对应的面试辅助和陪跑支持。如果你想找我辅助面试,或者用 Amazon 面经 中的原题 mock,感受最真实的feedback,欢迎戳我。

全网唯一一家支持 L6 以上 system design mock,只放真实面经。

求职辅助服务,是关于时间和品质的较量。咨询interviewAid,获取最专业的Tech求职辅助。

正文完