摩根士丹利面试经历 | 2021 年校园 FTE 技术分析师角色
摩根士丹利于 2020 年 9 月 2 日访问了我们学院。由于这是在新冠时代完成的,所以一切都是虚拟的。
第一轮 - 在线测试:在线测试由 3 个部分组成,每个部分分别按顺序进行。在完成当前部分之前,我们无法导航到另一个部分。
第一部分包括基本能力问题(大约 15 道题),在 20 分钟内完成。
第二部分是调试部分。在本节中,基本上我们得到了代码描述及其代码,其中包含一些错误(通常是逻辑错误)。我们需要纠正它并通过所有测试用例。我们需要为此部分预先选择一种语言,代码将以这种语言给出。可用的语言有 C、C++、 Java等。我选择了 C。这是一个相当简单的部分。大约 7-8 个问题用了 20 分钟。
第三部分是由三个问题组成的编码部分。我忘记了所有的问题,但如果你真的很擅长编码,它们就很容易了,最坏的情况是中等。我做了第一个完整的,另外两个部分。
第二个编码问题给出了不同的电源,每个电源都有不同的功率 p 和负载 l。每个电源可以来自A公司或B公司,如果来自A公司,则可以直接选择,如果来自B公司,则只能与B公司的另一个电源成对选择。给定一个最大容量负载L,可以获得的最大功率是多少?
第三个编码问题给出了初始电荷 C 和距离 D。要行驶一个单位距离,我们需要 1 个单位的电荷。在距离小于 D 的某些点,我们会收取额外费用。有m个这样的点。我们需要计算我们需要额外收费的最小点数,这样我们才能到达距离 D。
示例: C =5 D =20 ,点是 (5,5), (2,7), (3,10), (7,13) 其中每对是(额外收费,可额外收费的距离) .所以我们可以取 (5,5), (3,10),(7,13) 达到 D =20。所以最小值= 3。
15名学生在本轮面试中从太多人中脱颖而出。
面试轮 - 1(技术) :面试是通过变焦进行的。由于面试官在每次面试中花费的时间都超过了他们规定的时间,所以面试开始得很晚。我的时间是上午 9:45,但它是在下午 12:00 开始的。从我的介绍开始。之后,他切换到我在简历中最重要的项目,这是一个网络项目(使用 ns-3 DCE 在 ns-3 中验证 TCP-BIC 的实现)。我解释了我的项目,他问了几个反问,我回答了。然后,他问我最强的套装。我回答了 DSA。他让我编写如何递归地反转字符串的代码。我分享了我的屏幕并在记事本上编码。我首先尝试使用字符串和索引来实现,但他阻止我告诉他他只想使用字符串进行递归。然后我稍微改变了我的方法并对其进行了编码。然后他问了各种问题,比如时间复杂度,为大小为 n 的字符串生成的字符串总数。花了一些时间,但我终于设法说服他我的回答。之后,他跳到了OOPS。他向我询问了 OOPS 的所有不同方面,我对此进行了解释。然后他询问了虚函数,它们是如何、为什么在 C++ 中使用的。我向他解释了。然后他切换到操作系统。他问我关于虚拟内存、分页、为什么使用它。我以非常详细的方式解释了它。一轮进行了大约一个小时。
8名学生在这一轮中幸存下来。我们在最后一个堡垒。
面试-2轮(HR+技术) :没有下一轮时间的消息,所以我决定小睡一会儿。当我在下午 5:30 醒来时,我看到有人告诉我下午 5 点加入。我很快就加入了,以为我迟到了,但是我被告知要等。然后 HR 是在晚上 7:30 先来的。他让我再次自我介绍。然后他问我的长处,成就。最后他问我们为什么要雇用你——这个经典而陈词滥调的问题。然而,我完全没有为 HR 做好准备——这是一个致命的错误。我试图再次列出我的成就以证明我的能力,但他似乎并不相信。人事部之后,我被告知要等待。一轮进行了大约20分钟。
然后下一轮技术轮次在晚上 8 点与另一位面试官开始。从介绍的形式开始,然后他还向我询问了 OOPS 概念,这是我在第一轮中喋喋不休的。之后他给了我一个 OOPS 设计问题,然后变成了一个系统设计问题。他让我制作一个模拟 Zoom 通话的软件。我想了几秒钟。之后我告诉他我会保留 3 个类,用户、组织者和房间。用户需要注册,当组织者调用组织会议函数时创建房间,组织者基本上扩展了用户,因为组织者基本上是组织会议的特殊用户。他在此之后添加了各种约束。他首先告诉我,现在房间数量有限,不是虚拟的,我将如何重写组织者的代码来满足这个需求。我告诉他,由于房间有限且编号,我们可以有一个数据库来保存房间以及它们是否免费。此外,它还会存储其他信息,例如参与时间等。下一个要求是,组织者在组织会议时,应保留一份强制要求的用户列表,以及一些非参加会议的用户。我再次建议了一个存储用户可用性的数据库。我建议,每当组织者提交用户列表时,该函数会自动在数据库中检查用户是否空闲。然后他问我是否要让每个用户都可以访问数据库,这不会影响安全吗?经过一番思考,我告诉他我们可以保留一个数据库管理员或管理员代表组织者检查可用性。现在该函数只会将用户列表发送给经理,他将根据强制要求的用户是否免费来检查并返回真或假。现在他的要求变成了我方法的可扩展性。他问我——考虑有一个用户,比如 PM,他收到了组织者的很多请求。每次他的 PA 收到请求时,您真的要访问数据库吗?我想了想,然后建议我们可以选择用户可用性数据库的主索引,我们可以这样做,因为 userid 是主键,并且可以以排序方式保存。他同意我的观点,即这将花费更少的时间,但他问 - 我能不能想出一个更好的方法,因为即使现在访问时间更短了,我们仍然需要一次又一次地访问数据库。然后我建议我们可以使用缓存。他再次重申,我们仍然需要进入系统。所以我建议在服务器级别保留缓存,以便可以在服务器本身处理频繁请求的用户。现在我介绍了服务器的概念,他问我要放置多少服务器。我回答这将取决于软件接收到的流量。如果请求很多,我建议在印度的每个州都保留一个服务器,但是如果它较少,我们可以只在主要城市保留 4-5 个——我假设软件仅限于印度。这时,zoom 会议的实际组织者进来告诉我们时间已经晚上 9 点多了。面试官让他等一下,他正在进行有趣的讨论。说到这里,我笑了笑,但没有做任何假设。然后,最后他问我——假设我在东京、班加罗尔、加利福尼亚等不同地方有很多服务器,我将如何决定,我应该将请求发送到哪个服务器?我尝试建议调度算法,但他否认并告诉我要集中精力多想,但我想不出一个让他满意的解决方案。然后他结束了采访,我最后问他最后一个问题他想要什么方法。然后他说他想要路由作为方法。在那里,我再次开始建议在 IP 标头中使用 TTL 标头位来处理更好的路由,他同意了。然后,我的采访终于结束了。回合进行了大约75分钟。
最终,1 名学生被选为 FTE,2 名学生被选为春季实习(我猜他们会在实习后获得 FTE)。我不是其中之一。我倒在了最后一个堡垒。不过,这不是唯一一次,在我最终被选中之前,我进行了 8 次面试。
尝试提前为安置季节做好准备, GeeksforGeeks将是您最大的救星。您可能需要参考其他资源,例如关于操作系统、CN、DBMS、一些人力资源问题、来自 Indiabix 的能力(如果需要)的 GATE 笔记或 Ravindrababu Ravula 视频。此外,在参加面试之前对公司进行研究。我认为您的前辈或同龄人会为您提供其他建议,