高盛面试经历
第 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(基于 1 的索引)并且有效性值为 16,这是在给定约束条件下可以获得的最大值。
Quant 部分由大约 10 个问题组成。
这些是关于概率、计算机体系结构、操作系统、高中数学和离散数学的混合问题。您可以在本节中期待与数学和计算机科学相关的任何内容。
主观部分由 2 个问题组成。
问题一:下周开始你的期末考试,下周还有你梦寐以求的公司的面试。如果您想参加面试,您不能参加考试。你会怎么办?
问题 2:您看到您的总统在考试开始前在社交媒体上泄露了考试文件。你做什么工作?
高级部分由 1 个问题组成。
问题的长度很大。我不完全记得这个问题。但是一旦你理解了问题的逻辑并且非常清晰和容易。
编码部分的问题我都做了,量化部分的大约 7 个问题,当然还有主观部分的两个问题。 29名学生被要求进行面试,他们中的大多数人都做了编码部分的两个问题。
第二轮(面试第一轮(校内)):
入围的候选人被要求进行面试。他问我关于我自己。我给了他我的介绍和我的兴趣。然后他开始讨论我在简历中提到的一个项目。我们讨论了大约 20 分钟的项目,他看起来对答案很满意。他问我最喜欢的数据结构。我说的是链表、树、数组。他继续问我 1 个谜题。 https://www.geeksforgeeks.org/puzzle-9-find-the-fastest-3-horses/。他问了我 2 个编码问题,并在纸上为他们两个写了代码。
1)。在二叉树中找到 maxSumPath。 https://www.geeksforgeeks.org/find-maximum-path-sum-two-leaves-binary-tree/
2)。在数组中查找定点。 (二进制搜索解决方案)。 https://www.geeksforgeeks.org/find-a-fixed-point-in-a-given-array/
面试官向不同候选人提出的所有难题都可以在 geeksforgeeks.org 上找到。
我非常高兴我从 geeksforgeeks.org.https://www.geeksforgeeks.org/puzzles/ 解决了难题
第三轮(面试第二轮(校内)):
我被要求进行第二轮面试。面试官问我上次面试怎么样。然后他直奔问题。他问了我两个很简单的问题。
1)。第一个是在 3 个排序数组中找到公共数字。 https://www.geeksforgeeks.org/find-common-elements-three-sorted-arrays/
2)。解释快速排序算法的摊销分析。
在这一轮面试中还提出了一个谜题。 https://www.geeksforgeeks.org/puzzle-18-torch-and-bridge/
第 4 轮(面试第 3 轮(校内)):
我被要求参加第三轮面试。面试官问了我在简历上提到的实习和课程项目。然后他直奔问题。他问我一个编码问题,他希望我编写包括所有极端情况的代码。
1)。您必须对数组进行分区,以使两边都包含相等和的元素。我向他解释了自下而上的 dp 解决方案,并编写了代码并试运行了测试用例。 https://www.geeksforgeeks.org/partition-problem-dp-18/
有 6 名学生被选为 SDE 职位,我就是其中之一。我建议你复习你的编码基础,并在面试过程中保持自信。