摩根士丹利最近访问了我的大学,提供暑期实习机会。注册标准为CGPA 7.5及以上,工作简介为分析师。有3轮。第一轮是在线编码挑战,然后是 2 场 Zoom Call 在线虚拟面试,我们必须展示我们的屏幕,并且必须在任何文本编辑器上进行编码。
报名结束后,公司共筛选出150名学生,并在aspireminds平台上进行了在线考试。测试有 3 个部分,每个部分都有单独的时间分配给他们。
第 1 轮在线轮(100 分钟):
第 1 部分:能力部分,有 10 个问题需要在 20 分钟内解决。题型难度适中。
第 2 部分:调试问题和解决时间为 20 分钟。可以选择任何一种编程语言进行调试,该部分非常简单,并且对编程有基本的了解,可以轻松调试问题。
第 3 部分:这是一个编码问题,有 3 个编程问题,需要编写完整的代码,包括问题的主要函数。该程序的难度级别为中等至困难级别。解决 3 个问题的时间为 45 分钟。
- 问题 1: MNC TechnoSoft 需要知道每天结束时公司服务器上的文件上传状态。该公司有一个 N 小时的文件上传率列表,它想确定这 N 小时内文件上传率最高的时间段。该时段定义为文件总上传速率高于或等于公司预定义的上传速率 R 时连续小时数最短的时段。 编写算法帮助公司在给定的 N 小时内找到文件上传次数最多的时段.
- 问题 2:在一个拾币游戏中,N 个硬币按顺序排列。每个硬币都有一些与之相关的价值点。游戏由多人组成,两人一组进行。团队成员必须选择相同数量的不同连续硬币,并保存挑选硬币的顺序。该团队的分数是通过颠倒第二名成员捡到的硬币的顺序来计算的。第一个团队成员按特定顺序拾取的硬币的价值点与第二个成员按相反顺序拾取的硬币的相应价值点相乘。然后将每个乘法的乘积相加为代表团队最终得分的分数。编写一个算法来找出任何团队可以用给定的硬币得分的最高分。如果最大分数为负,则输出 0。
- 问题3:在网络游戏中,N个块以分层的方式排列。每个块都有一个从 1 到 N 的 ID。一个块可以进一步连接到其他块。所有块都通过 N-1 连接连接。每个块都分配了一个特定的点值。玩家从块 (S) 开始。她必须从每个块向前移动到一个直接连接的块,直到她到达没有进一步连接的最后一个块。当玩家落在一个块上时,她会收集该块的点值。玩家的分数计算为玩家收集的块点的乘积。获得最高分的玩家赢得游戏。编写一个算法来找出获胜者的最高分。
我的能力很好,我解决了大约 2 或 3 个调试问题和 1 个编码问题。约20名学生入围面试。
Zoom 第二轮 F2F 技术面试(70 分钟):面试官首先介绍自己,让我谈谈我的项目。在听完我的项目细节后,她让我解释我将如何使用 OOP 概念来实现我的项目。我们对此进行了长时间的讨论。它持续了大约 25 到 30 分钟。
然后她问了我几个技术问题:
- 给定一棵树,打印树的交替级别。我按照一个简单的递归方法来解决这个问题。然后她让我优化可以使用 BFS 完成的代码。
- 给定一个字符串,它是一个句子,反转所有的斐波那契索引词。
- 给定一个 500GB 的文件和 10GB 的 RAM,您将如何对文件进行排序,该解决方案的时间复杂度是多少?
我被要求编码前两个问题。她似乎对我的所有 3 个解决方案都非常满意。在此之后,我们就我更喜欢哪种编程语言( Java)进行了简短的讨论,并讨论了Java 8 中添加的一些最新功能。然后她问我是否有任何问题要问她,我问她已经使用了多长时间为摩根士丹利工作以及她的工作。
面试持续了一个多小时,20多名学生中只有6名有资格进入下一轮。
Zoom 上的第 3 轮 F2F HR 面试(45 分钟):这一轮应该是 HR 轮,但我被问到了 HR 和技术问题。面试官首先介绍自己,让我介绍一下自己,并谈谈我的一些项目。听完我的项目细节,她问我在项目过程中遇到了哪些挑战,因为我的项目是一个团队项目,她还问我如何管理团队成员。这些几乎是我唯一的人力资源问题。在此之后,她继续提出一些技术问题:
- 给定一份 10 天的股票价格清单,您将如何最大化您的利润?我被要求编写解决方案,她对我的解决方案很满意。
- 您将如何使用 OOP 概念设计和实现蛇梯游戏?我们就此进行了讨论,持续了大约 15 分钟,她对我的方法非常满意。
然后她问我有没有什么问题要问她,我对她的团队在摩根士丹利的所作所为有些怀疑(之前她自我介绍时,她提到她是摩根士丹利的执行董事,并告诉我她的团队在做什么)我还请她对我的表现提供反馈,她说她对我的解决方案很满意。
这次面试持续了大约 45 分钟,最终 6 名学生中只有 4 名被选中实习,而我是其中的 4 名。