📌  相关文章
📜  摩根士丹利FTE面试经历| 2021 年校内(虚拟)

📅  最后修改于: 2021-11-10 06:56:40             🧑  作者: Mango

摩根士丹利于 21 年 7 月访问了我们的校园,寻求实习和全职职位。我获得了一个全职职位以及为期 6 个月的实习机会。

在所有申请的人中,大约有 400 人根据他们的 CGPA 入围预赛。

招聘流程如下:

预赛(在线测试):本轮在 AMCAT Portal 上举行。测试的总持续时间为 2 小时,由 4 个部分组成,每个部分都单独计时。这些部分是:

Quantitative Aptitude :这部分由来自几何、时间和距离、概率、排列和组合、时间和工作等主题的 MCQ 组成。

计算机科学基础:本部分包含来自数据结构、数据库管理系统、操作系统、计算机网络和 Linux 的 MCQ。以下是提出问题的一些主题。

  • 汉明距离 (CN)
  • 分组交换 (CN)
  • 路由协议 (CN)
  • 多线程 (OS)
  • 线程(操作系统)
  • 外壳 (Linux)
  • 规范化 (DBMS)

调试:本节有 7 个代码片段,每个片段都将针对一些公共和私有测试用例进行更正和测试。提供的语言是 C++ 和Java,在开始本节之前要选择首选语言。问题类型:

  • 逻辑 – 我们必须纠正给定片段的逻辑以产生正确的输出。例如,
    • 循环语句后去掉分号(执行循环内的代码)。
    • System.out.println()更改为System.out.print() (在Java)
  • 编译 – 修复代码以在不更改逻辑的情况下删除编译错误。例如,
    • 检查无限循环
  • 代码重用——给出了一个预定义的函数。我们应该使用这个函数来为我们的问题陈述编写逻辑。例如,
    • 给出了求任意两点间欧几里得距离的函数。我们必须编写逻辑来检查三个给定的点是否使用这个函数形成一个直角三角形。

编程:本节有 3 道题,需要在一个小时内解决。问的问题是:

  • 一个简单的数组问题,可以使用蛮力方法解决
  • 最大重叠间隔数的变化
  • 最长公共子序列的变体

第一轮(技术面试-I): 400名参加考试的学生中,有48人入围了这一轮。这一轮是在 Zoom 上进行的。采访从我的介绍开始。然后我的面试官问了我最喜欢的编程语言Python,然后我被问到了 Python 特定的问题。这里是其中的一些:

  • 列表和元组的区别
  • Python是编译的还是解释的?
  • Python的命名空间是什么?
  • 什么是 PEP?
  • 中断、继续和通过之间的区别
  • Python数组和列表的区别
  • 里边啥啊__?

大约 15-20 个 Python 特定的问题被问到,我能够正确回答其中的大部分。

面试官然后转向数据结构和算法。问题是:

  1. 在不使用任何集合类的情况下,如何查找单词每个字符的出现频率。
  2. 建议一种对范围从 0.0 到 1.0 的大量浮点数进行排序的有效方法

我可以解决第一个问题并提出解决第二个问题的方法(Bucket Sort),但无法正确编码。

然后他转向操作系统并提出以下问题:

  1. 解释分页
  2. 什么是RAID?

第 2 轮(技术面试 – II):我被告知我在上次面试后 2 小时就入围了这一轮。这次采访也是从我的介绍开始的。由于我主要是后端开发人员,因此大多数问题都围绕后端、DBMS 和 DevOps。其中一些是:

  • 您如何开始从事后端项目?
  • 如何减少大型数据库的查询时间?
  • 您将如何减少经常被命中的 GET 请求的响应时间? (使用Redis缓存)
  • 你用过Redis吗?
  • REST 的原则
  • HTTP 响应状态代码的类型 (https://developer.mozilla.org/en-US/docs/Web/HTTP/Status)
  • 数据库可以分区吗? (分片)
  • 如果您的服务器流量非常高,您将如何处理这种情况? (负载均衡)
  • 如果在特定时间服务器负载过多而其他时间负载太少,您将如何有效地管理这种情况? (弹性)
  • 水平缩放和垂直缩放有什么区别?

面试官还问了我关于 Docker 和 Kubernetes 的问题,但我告诉他我还没有接触过这些技术。

我被问到的其他一些问题是:

  • 我被要求解释我的一个项目。
  • 你在之前的实习中扮演什么角色,你在目前的实习中从事什么工作?
  • 你必须设计一个 Airbnb 克隆。在设计推荐系统时,您会牢记哪些注意事项?
  • 您必须设计一个货物交付应用程序。您将如何管理送货代客的送货安排?

我设法正确回答了几乎所有问题。

第 3 轮(管理面试):大约 3 天后,我接到了参加管理轮的电话。

  • 这次采访是由一位执行董事进行的,持续了 45 分钟。我被要求做自我介绍。我们谈到了我在我的项目、实习和我担任董事会成员的大学分会中的角色。
  • 他问我如何克服挑战和管理团队。
  • 一些问题围绕着摩根士丹利的核心价值观。面试官正在寻找诚实的回答,并且对我的回答印象深刻。

几天后宣布了结果。包括我在内的 6 人获得了 6 个月的实习 + FTE,3 人获得了 6 个月的实习。

我的小贴士

  • 对于编程部分,从数组、贪婪和动态编程中练习很多问题
  • 一定要在考前修改定量能力,因为你需要清除每个部分的截止点才能进入下一轮。
  • 对于技术 MCQ,请查看 GeeksForGeeks 上的最后一分钟笔记。
  • 对于面试,了解您最喜欢的语言的一切。如果您选择Java/C++,请确保您对 OOP 概念非常了解。
  • 面试前复习操作系统概念,尤其是内存管理和磁盘调度。
  • 了解简历中的所有内容。
  • 面试时要诚实。如果你什么都不知道,不要虚张声势很长时间。
  • 管理回合是关于你以前的经历,确保你对面试官持开放态度,并让你的答案可信。

祝你好运!