第 1 轮(在线编码轮):
这是一个长达 2 小时的回合,包括 4 个部分 –编码、量化、主观和高级。
编码部分由 2 个问题组成。
问题 1:给定一个数组,从数组的开头到结尾,每当遇到数字 ‘2’ 时,就在它后面添加另一个 ‘2’。这样做时,数组中的最后一个元素将被删除,因为最终数组的大小应该与初始数组的大小相同。例如,如果初始数组是 [23, 2, 3, 12, 2, 2, 34, 55, 66, 79],那么修改后的数组应该是 [23, 2, 2, 3, 12, 2, 2 , 2, 2, 34]。预期的时间复杂度为 O(n),您应该就地进行(仅使用恒定数量的额外内存)。
问题 2:有“n”个广告。每个广告都有一个与之关联的有效性值,该值以 [v1, v2, …, vn] 格式在大小为“n”的数组中给出,其中“v1”是第一个广告的有效性值,“v2”是第二个广告的有效性值,依此类推。这些广告将在其中展示的节目长度为“m”(从 0 到 m),广告可以展示的时间格式为 [(a1, b1), (a2, b2), …, (an, bn)],其中数组中的第i 个元组表示格式 (start_time, end_time)中第 i 个广告的时间。请注意,任何 ‘ai’ 和 ‘bi’ 都不能小于 0,也不能大于 ‘m’。当您选择展示广告时,您不能在广告结束后的 4 分钟内展示另一个广告。因此,如果您选择显示时间为 (2, 4) 的广告,则不能在 9 点之前显示另一个广告,因此下一个广告不能是 (8, 10),但可以是 (9, 12)。考虑到上述限制,您必须选择要向观众展示的广告,以便最大限度地提高广告效果值的总和。例如,如果 ‘m’ 是 20,并且广告的时间是 [(2, 3), (6, 9), (10, 12), (12, 13), (14, 17)] 和有效性值为 [3, 9, 10, 6, 7],那么您可以显示广告 2 和广告 5(基于一的索引),有效性值为 16,这是在给定约束的情况下可以获得的最大值。
Quant 部分由大约 10 个问题组成。
这些是关于概率、计算机体系结构、操作系统、高中数学和离散数学的混合问题。在本节中,您可以期待与数学和计算机科学相关的任何内容。
主观部分由 2 个问题组成。
问题1:你下周有期末考试,下周还有你梦寐以求的公司面试。如果您想参加面试,则不能参加考试。你会怎么办?
问题 2:你看到你的总统在考试开始前在社交媒体上泄露了考试文件。你做什么工作?
高级部分包括 1 个问题。
看到问题的长度,我没有尝试。但它是基于图形的,看起来并不难,但会非常耗时。
我做了编码部分的两个问题,量化部分的大约 7 个问题,当然还有主观部分的问题。 21名学生被要求面试,其中大部分都做了编码部分的两个问题。
第二轮(在线面试):
入围的候选人被要求进行面试。这是对 Bluejeans 的在线采访。他问我关于我自己。我向他介绍了我的介绍和我的兴趣。然后他开始讨论我在介绍中提到的一个项目(我做的一个网站)。我们讨论了大约 30 分钟的项目,他看起来对答案很满意。他问我,当我们可以有不同的类时,继承有什么需要。然后他问我如何对有向无环图进行拓扑排序。有很多网络问题,因此这些是唯一讨论的问题。
第三轮(在线面试):
上一次面试后,大约有10名学生入围,我就是其中之一。面试官问我上次面试怎么样。然后他直接跳到了问题上。他问了我两个很简单的问题。第一个是打印二叉树的左视图。我给了他递归的解决方案,但他想让我告诉迭代的解决方案。最后我给了他迭代的解决方案。第二个问题也很简单。他想让我在二叉搜索树中找到比给定节点大的节点。
实习岗位选拔了7名学生,我就是其中之一。我建议阅读 GeeksForGeeks 上的 Goldman Sachs Interview Experiences,因为大多数问题(包括我朋友提出的问题)都只是从那里提出的。概率问题很常见,尽管我在面试中没有被问到。