条件:8 CPI或更高(仅CSE, MnC)。如果所有学生都符合CPI标准, 则无论积压的历史记录还是当前的积压记录都被考虑在内。
第一轮(在线测试):第一轮是在线测试, 时间约为1小时40分钟(不记得确切的时间)。
有4个编码问题(不记得确切的问题):
(中)给定两个数组A和B.在最小序号中使B等于A.操作。在每个操作中, 你可以从数组B中删除任何元素, 并将该元素放在数组B的前面或结尾。我们需要输出操作数。 (提示:让x = A的最长连续子数组, 它也是B的子序列。答案是n(数组A或B的大小)-x)
(中硬)赋予国王王的健康。你需要找到最小编号。刺杀国王。如果生命值变为0, 则国王死亡。
如果国王的健康状况随时为h, 则可以执行以下任一操作:(将h减少1)或(将健康状况降低至h1, 其中h = h1 * h2且h1> = h2> 1)
(中等难度)给出一棵树以及一个源(S)和目标(D)。树的每个节点都有一种颜色(红色, 绿色或蓝色)。从一个节点到另一个节点要花一秒钟, 然后在一个节点上停留1秒钟, 你会得到一个颜色球(该节点的颜色)。你必须找到从源头到目的地所需的最短时间, 以确保每种颜色的球数相等且不为零。 (提示:最后, 每种颜色必须有1个球。BFS和BFS可以使用多个来源)
(硬)不记得这个问题(无法解决)
此回合是在Hackerrank(启用网络摄像头)上进行的。在这一轮在线测试之后, 有10名学生入围了面试。
第二轮(技术面试1-差不多1小时15分钟):这是在缩放状态下进行的在线F2F技术回合。采访者共享了键盘链接, 并且要求你编码并通过采访者给出的示例测试用例。仅询问了一个问题(编码)(更多后续问题)。
最初给定的数组为空。有q个查询。你需要在所有q个查询之后输出数组。有2种查询类型。 (添加x:将x推送到数组中)(xor x:用x对数组中存在的所有元素进行xor运算)。
预期时间复杂度:O(q)
(暗示:使用向量和哈希图)
查询类型1:加x(只需将x推到矢量)
查询类型2:Xor x(数组的存储大小作为键, x作为哈希图中的值)
毕竟, 查询使用哈希映射来更改向量的元素并返回最终向量。
我能够破解它并编写代码。然后(后续问题)又添加了1种查询类型(最小值:到目前为止, 你必须提供矢量中所有元素的最小值)。再次期望的时间复杂度:O(q)
我想出了主意, 面试官对我的方法很满意。
在这一轮之后, 有7名学生入围下一轮。
第三轮(技术面试2差不多1小时30分钟):再次, 模式是相同的(缩放视频通话, 我被要求编写代码, 那里有一个问题(+跟进))。
问题链接:https://leetcode.com/problems/scramble-string/(难题)
面试官没有完全解释问题。我应该问问题并澄清声明。我想到了这个想法并进行了讨论。面试官对我的方法感到满意。我被要求编写代码并在给定的示例测试用例上运行。
(跟进)只是对给定问题的一种操作, 很容易破解(一旦原始破解了)。
忠告:在运行代码之前, 请仔细检查它, 看看是否存在任何常见错误(解决onego上的问题很好(覆盖所有边角测试用例))。
在这一轮之后, 有4名学生入围下一轮竞赛。
第四轮(HR)(近1小时):采访者介绍了自己, 然后我被介绍了(只要准备好此类问题即可。不要说出简历中写的所有内容)。
之后, 进行了大约45分钟的项目讨论。
每次面试后, 我被问到:"我是否对他们有任何疑问"。只是问有关公司的问题。这样你对自己的兴趣如何坚定。