摩根士丹利 2022 年实习面试经验(校内)
摩根士丹利参观了我的大学,为三年级学生进行了为期 2 个月的实习。申请的标准是:
- 没有实时积压
- 流 – CSE / ETRX / EXTC / IT / MECH
我的大学实习小组已指定并非所有申请的学生都会参加在线考试。摩根士丹利将入围学生。大约 250 名学生被允许参加在线测试。
第一轮:在线测试
测试于 1 月 31 日进行。测试有 3 个部分:
能力倾向问题(10 题,20 分钟):这些是相当简单的问题,可以使用基本的线性代数、算术级数等来解决。一些问题涉及数据解释。在这些类型的问题中节省时间的关键是在尝试拼凑数据之前阅读问题;了解您对数据的解释应该走向的总体方向。我能够尝试所有的问题。
调试问题(7Q,20 分钟):在本节中,已经为每个存在一些语法/逻辑错误的问题提供了一些代码,我们需要纠正这些错误。在这一轮开始之前,我们被要求选择我们想要解决问题的编程语言。据我所知,选择是 C++、 Java和另一种我不记得的语言。我选择了 C++。由于时间限制,我只能解决 6/7 个问题,所有测试用例都通过了 6 个问题中的每一个。
编码问题(3Q,60 分钟):
问题是:
- 给定一个二进制字符串,在一次迭代中,我们可以删除连续的 1 或连续的 0。找出清空字符串所需的最小迭代次数。例如:“00101100”->“0011100”->“0000”->””
- 编号为 1 到 N 的框按顺序排列成一行。给机器人一个带有开始和结束索引的订单列表,机器人必须检索所有这些盒子。如果两个订单重叠,则它们将合并为一个订单(例如:(5,9) & (7, 11)->(5,11))。机器人必须处理的最少订单数量是多少?
- 我们输入一个包含 N 个类别和 M 个产品类型的成本的二维矩阵。我们需要从每个类别中准确选择 1 个产品。我们不能为连续的行选择同一列中的产品。如何以最低的成本实现这一目标?例如:{{*2*, 40, 50 }, {3, *40*, 50}, {*4*, 40, 50}}。答案 = 2+40+4
我能够解决第二个和第三个问题。结果于 2 月 2 日公布,7/250 名学生入围进一步评估。
面试轮次安排在 2 月 4 日。
第二轮:技术面试
面试从上午 9 点开始,面试官要求我介绍。然后我被要求分享我的屏幕并打开 word/notepad 来编写代码。有人给我一个问题,我需要编写代码来设计 10 支球队的锦标赛的赛程,这样每支球队都与每支球队只打一次,而且没有球队必须连续几天打一场比赛。我开始编码,我对这个问题有点困惑。所以我告诉面试官,现在我想不出一个优化的解决方案,所以我将从蛮力方法开始。他说那完全没问题。我编写了一个 O(n^3) 解决方案,然后将其简化为 O(n^2)。这里的关键是不断与面试官互动,让他们知道你在每一步的想法。有一次,我正朝着一个不正确的解决方案前进,面试官把我推向了正确的方向。
然后我被问到两个设计问题:一个是设计电梯。我们就什么是正确的数据结构进行了长时间的讨论。我正在为优先队列提出理由,但面试官能够说服我双端队列会更好。第二个设计问题是关于设计一个销售笔的电子商务网站。我们讨论了各种 OOP 概念,例如继承、IS-A 和 HAS-A 关系之间的区别。有一次,我开始着手研究如何在其中实施推荐系统。但面试官要求我保持设计简单。
接下来,有人问我如何设计一个程序来检测和删除大于笔记本电脑内存大小的文本文件中的单词重复。
然后面试官问我有没有学过SQL。我说是的,但这不是我最强烈的话题之一。所以他没有问我任何关于这件事的问题。然后他问我操作系统好不好,我说好。因此,我们讨论了使用各种方法解决进程调度的数值。
面试官在结束面试时问我是否有任何问题要问他。我问他在摩根士丹利是如何使用机器学习的,在金融行业工作与在大型科技公司工作有何不同。回合进行了大约50分钟。
4/7 的学生被选为下一轮。
第三轮:技术+HR
本轮比赛于当天下午 6 点 15 分开始。面试官问了我的介绍,看了我的简历。他向我询问了我在之前的技术实习中所做的工作。我在简历中提到了 CNN,所以他问我如何计算训练神经网络的时间。我说过我将获取数据集的一个子集,然后推断结果。他问我是否可以从算法的角度来解决这个问题。在这一点上,我对此完全一无所知。他问我矩阵乘法的时间复杂度,并让我通过给我一些提示来解释神经网络是如何工作的。虽然我能够回答这两个问题,但我仍然不明白如何解决它们,所以在尝试了 10-15 分钟后,我说我根本不知道该怎么做。他继续说,让我对一个比笔记本电脑内存大得多的文本文件进行排序。我能够满意地回答这个问题。
- 然后我被问到各种与人力资源相关的问题:
- 在团队中工作与单独工作有何不同?
- 你会如何处理团队中的分歧?
- 如果你的团队中有人偷懒怎么办?
- 你有没有遇到过道德被违反的情况?你是如何处理这种情况的?
- 我被要求分享与每个问题相关的轶事。
面试官问我有没有什么问题要问他。我问他,如果我被选中参加这个实习,你建议我在加入之前学习什么,在金融公司工作与在大型科技公司工作有什么不同。然后他告诉我他目前正在做的工作,所以我问了一些关于这项工作的交叉问题。面试官持续了大约35-40分钟。
2 月 8 日,我从实习小组收到一封电子邮件,通知我们我和其他 2 名学生已被选中参加实习。
一些面试技巧:
- 清晰自由地表达你的想法。面试官来这里是为了评估你在一个团队中的能力,在这个团队中你应该与他人交流。
- 无论在面试中出现什么情况,都要保持自信。如果我们不能表现出对自己能力的信心,我们就不能指望面试官相信我们的能力。
- 阅读数十篇过去的面试经历。有些问题确实会重复。
- 如果您无法对某些问题给出正确的答案,那也没关系。正确地处理问题也能说明你的技能和解决问题的态度。
- 最后,不要在简历或面试中虚张声势。如果您对某事不了解,请礼貌地让面试官知道。