TikTok OA CodeSignal 四题面经分享|顺利拿下,助你顺利通过 OA

30Times read
No Comments

1 月 25 日参加了 TikTok 的 OA ,整体体验还不错,题目是 CodeSignal 经典四题模式。难度中等偏下,题型比较常规,只要刷过一些 CodeSignal 或常见算法题,基本不会太慌。现在分享一下这次 TikTok OA CodeSignal 的题目类型和解题思路,供之后准备 TikTok OA / 字节跳动 OA 的同学做个参考,希望能对大家的刷题和备考有所帮助。

TikTok OA 面试概览

  • 平台:CodeSignal
  • 题目数量:4 题
  • 题型:模拟 / 数组处理 / 网格放置 / 图遍历
  • 整体难度:偏基础
  • 时间压力:不算大,思路清楚基本能写完

TikTok OA 真题分享

第一题:分数统计与历史最高分

题目给定一个初始分数 1500,以及一系列分数变动的操作记录。需要在按顺序执行这些操作的过程中,计算最终的分数,同时找出整个过程中出现过的最高分数。

解题思路
这是一道典型的模拟题。使用一个变量记录当前分数,初始为 1500,再用一个变量记录历史最高分。遍历操作记录时,每一步先更新当前分数,再用当前分数更新最大值。遍历结束后返回最终分数和最高分即可。

第二题:按规则将数字分配到两个数组

题目给了两个初始数字 num0 和 num1,分别放入两个不同的数组中。随后会依次给出新的数字 num[i],需要按照规则将其加入其中一个数组。规则是先比较两个数组中大于 num[i] 的元素个数,将数字放入该数量较少的数组;如果数量相同,则放入当前长度更短的数组。最终返回两个数组拼接后的结果。

解题思路
直接按照题目规则进行模拟即可。初始化两个数组后,逐个处理新数字,对两个数组分别统计其中大于当前数字的元素个数,再根据比较结果决定加入哪个数组。由于数据规模不大,直接遍历统计即可,逻辑清晰也不容易出错。

第三题:在网格中按顺序放置图形

给定一个 n×m 的网格,以及五种固定形状的图形(A、B、C、D、E)。要求按照行优先、列优先的顺序依次在网格中放置这些图形,并判断是否能够将所有图形全部放入网格中而不发生重叠

解题思路
这道题本质是二维网格模拟。可以先用一个映射表保存每种图形相对于左上角 (0,0) 所占据的坐标。之后按行优先、列优先遍历网格,对于每个位置尝试作为当前图形的左上角,检查是否越界或与已放置图形冲突。若可以放置,就标记网格并继续放下一个图形;如果整个网格都尝试过仍无法放置当前图形,则直接返回失败。

第四题:链式结构的遍历顺序

给定一条链式结构,本质上是一个无向图,其中每个节点最多只有两个邻居。需要从正确的起点开始,输出遍历完整条链的节点顺序。

解题思路
可以先将图构建成邻接表,并统计每个节点的度数。由于是链结构,起点一定是度数为 1 的节点。从任意一个这样的节点开始遍历即可。遍历过程中记录上一个访问的节点,在当前节点的邻居中跳过前一个节点,剩下的那个就是下一个要访问的节点。不断向前推进,直到所有节点都被访问完。

关于 OA 准备的一点经验分享

如果你在准备 TikTok OA / CodeSignal 或其他大厂笔试时感觉没什么信心,其实很正常。OA 更考验的是对常见题型的熟悉度和实现稳定性,而不是临场发挥。Programhelp 长期提供 OA代写 、面试辅助、VO辅助 ,已经帮助不少同学理清常考套路、提升通过率并顺利进入下一轮。如果你也在准备阶段,欢迎联系我们。

author avatar
Jory Wang Amazon资深软件开发工程师
Amazon 资深工程师,专注 基础设施核心系统研发,在系统可扩展性、可靠性及成本优化方面具备丰富实战经验。 目前聚焦 FAANG SDE 面试辅导,一年内助力 30+ 位候选人成功斩获 L5 / L6 Offer。
End of text
 0