高盛实习面试经验 2021
- 状态:目前在印度顶级 NIT 的 ECE 学生。
- 日期:2021 年 8 月
- 这是一个校园优惠
第 1 轮(HackerRank 在线评估测试 - 135 分钟):测试分为 5 个部分,时长为 2 小时 15 分钟。所有部分都是强制性的。
- 编码部分有 2 个编程问题,持续时间为 30 分钟。
- 计算机科学多项选择部分有 7 个 MCQ,持续时间为 20 分钟。
- 定量能力选择题部分有 8 个 MCQ,持续时间为 25 分钟。
- 每个 MCQ 正确答案为您赢得 5 分,错误答案为 -2 分。
- 高级编程部分有 1 个编程问题,持续时间为 45 分钟。
- 主观部分有 2 个问题,持续时间为 15 分钟。它包含基于价值的人力资源问题。
- 我在第 1 节中的问题是:-
- https://www.geeksforgeeks.org/check-number-can-written-sum-k-prime-numbers/
- https://www.geeksforgeeks.org/zigzag-or-diagonal-traversal-of-matrix/
- CS MCQ 来自Java中的 OS、DBMS、OOPS。
- Quantitative Aptitude 包含来自 PnC、概率和矩阵的问题。
- 高级编码问题基于类似于此 https://leetcode.com/problems/word-search-ii/ 的回溯(与此类似,我们需要返回坐标)
- 除了编码问题,你还需要有一个好的 MCQ 分数才能入围。
第 2 轮(技术面试 1 - 35 分钟):面试官让我自我介绍 5 分钟。
- 然后他给了我一个问题:检查一个字符串是否是偶数回文。我告诉他基本的 2 指针方法。然后他修改了问题,告诉我这个字符串太长了,有点像字符流。所以我无法得到它的长度。我告诉他堆栈方法。我们会将字符推入堆栈,并在每次字符出现时将其与顶部进行比较。如果字符匹配,则从堆栈中弹出并将其存储在另一个堆栈中(以防重复),最后如果堆栈为空并且流结束,那么我们可以返回 true。您可以在“abbssbba”上试运行这种方法,以更好地理解我的方法。
- 然后他给了我一个数学方程来解决:-a! = 乙! * C!。他让我找出满足这个方程的对的数量,使得 a、b、c > 1。我尝试了从 1 到 10 的几个数字,我找到了模式。我们不能在 a! 中生成素数!所以 b 和 c 中的任何一个都必须是 a 的先前素数,其余部分必须是完美的阶乘。他很满意,并告诉我如果我有任何问题要问他。现在这个时候你可以问一些聪明的问题,表明你有兴趣在那家公司工作。
第 3 轮(技术面试 2 - 25 分钟):
- 这是一个非常简单的回合,没有介绍,他没有直接给我带来任何问题。在很短的时间内向我提出了很多问题。
- https://math.stackexchange.com/questions/707965/balls-and-bins-problem-expected-number-of-balls-needed-to-throw (他给了我这个问题,问什么是概率,什么是几何随机变量)
- 我告诉他问 DSA 问题,因为我还没有准备好概率。他给了我这个问题。 https://www.geeksforgeeks.org/design-and-implement-special-stack-data-structure/
- 然后他给了我一个矩阵问题 https://www.geeksforgeeks.org/maximum-path-sum-matrix/
- 然后他给了我一些谜题:
- 一个抽屉里有 4 种袜子。最少要抓几只袜子才能确定有 1 双?很容易的一个。答案——5。
- 你和你的朋友正在玩游戏。有 21 张牌,你有交替的回合。您一次可以选择 1、2 或 3 张牌。选择最后一张牌的人获胜。你首先开始,你应该选择多少张牌,这样你才能永远赢。两名球员都发挥最佳。 Ans – 在这个问题中,如果我们从 4、5、6、……开始,我们可以看到一个模式。我们可以看到,当牌是 4 的倍数时,我总是会输。因此,如果我选择 1 并且剩余 20 张牌,那么我的对手将永远输掉,因为它是 4 的倍数。
- 最后,他问我要不要试试概率谜题。他给了我这个谜题。 https://www.geeksforgeeks.org/birthday-paradox/
第四轮(HR + Technical – 45 分钟):首先简单介绍了他,后来他让我自我介绍。
- 然后他拿走了我的简历,开始问与项目和 POR 相关的问题。
- 然后他给了我一些概率问题。 https://www.quora.com/How-do-you-decide-the-winner-among-3-people-with-an-equal-probability-by-tossing-a-fair-coin 我告诉他我'我会掷硬币 3 次。他很满意,但他说不到 3 分钟也有可能。他告诉我怎么做,但它超出了我的想象。
- 然后他给了我一个数组问题,其中每个元素代表 1 或 0。在 1 次操作中,我们可以从任何索引 I 切换所有值直到结束。求最小操作使数组中的所有元素都等于 1。他这次让我写代码。我的方法是从后面开始计算不匹配(01 或 10)。他在一些情况下尝试了它是有效的。
- https://www.geeksforgeeks.org/stock-buy-sell/
- 最后,他给了我这个谜题 https://www.geeksforgeeks.org/puzzle-16-100-doors/ 起初我告诉他一种筛子的解决方案,然后他告诉我在其中寻找一种模式,我发现它使用因式分解。
第 5 轮(设计类型 - 30 分钟):首先他介绍了自己并告诉我我们在高盛做什么。
- 这次他问我理论问题。
- 为什么数组具有恒定访问权限?
- 数组与链表
- 实现哈希图
- 碰撞处理技术
- 他给了我这个问题 https://www.geeksforgeeks.org/queue-using-stacks/ (通过使 enQueue 操作成本高昂)。他还让我编写代码。我花了 15 分钟来编写代码,因为我很累。这是我今天的第四次采访。他也明白了,说慢慢来。
- 最后,他告诉我你给了 2 个文件,一个包含我们客户的所有 id,另一个包含交易。事务文件太大。他让我计算特定客户和每个客户的所有交易金额的总和,我告诉他我将使用地图。他在此进一步介绍了线程。他说我们可以把这个大文件分成4个线程就可以了。然后他问我这会有什么问题。我告诉他可能会有比赛条件。他问我是怎么解决的。我告诉他我们可以使用信号量或互斥量。他在这里停下来问我是否有任何问题。你现在知道在这里做什么了。
结果在几个小时内就出来了,我被选中了。