📌  相关文章
📜  摩根士丹利 6 个月实习面试经验 + FTE(校内)2021

📅  最后修改于: 2022-05-13 01:57:54.890000             🧑  作者: Mango

摩根士丹利 6 个月实习面试经验 + FTE(校内)2021

摩根士丹利是最早到达我们学院进行校园实习的组织之一。我大学的大约 388 名学生入围了在线评估。入围的 CGPA 截止值为 9 CGPA。申请人可以在 Enterprise Engineer Track 和 App Development Track 之间进行选择。我继续参加企业工程师课程。

在线评估:评估持续2小时,分为3个部分。它是在 Aspiring Minds (SHL) 平台上举行的,虽然它被允许在一个部分中回溯到跳过的问题,但不允许在部分之间切换。

  1. 调试轮(20 分钟):这一轮包括 7 个简单的问题,必须在 20 分钟内完成。在开始本节之前,可以选择他们喜欢的编程语言。目的只是修改给定的代码(反向符号、纠正逻辑和/或正确的语法)以满足问题的要求并清除所有测试用例。
  2. 推理能力部分(20 分钟):这部分有 10 个问题,测试一个人的能力和推理能力(Quants)。这些问题大多是中等难度的,不需要大量的计算。
  3. 编码轮(80 分钟):一个人必须用首选语言解决 3 个编码问题(简单、简单、中等)。

一种。玩具:一组儿童(N)拥有相同的(0 型)玩具。您已收到 Q 查询。每个查询都有 3 个整数 L、R 和 M。对于每个查询,您必须用 M 替换 L 和 R(包括)范围之间的孩子的玩具。在每个查询结束时打印最常见的玩具孩子和拥有玩具的孩子的数量。 (格式 = <代表最常见玩具的整数>-<拥有该玩具的儿童数量>)

Input :  N = 4 Q = 3 toy types = 3
Query Array: [[1,1,1],[2,4,2],[1,4,3]]  

Output : 0-3 2-3 3-4

Explanation: We have 4 children and 3 queries. At the beginning every 
             kid has the same toy 0.
             1) After the first query is triggered, child 1's toy is 
                replaced with 1, yet 0 is the most common 
                toy as rest of the 3 children have it.
             2) After the second query is triggered, 2,3, and 4's toy is
                replaced with 2. Now, 2 is the most 
                common toy as 3 children have it.
             2) After the third query is triggered, everyone has their 
                toy replaced with 3. Now, 3 is the most 
                common toy.

方法:我会将问题归类为简单,因为散列是一种可行且直观的解决方案。只需要将子-玩具对存储在一个以子作为索引的数组中,然后将玩具-儿童对存储在哈希图中。然后,它只需要一个变量来跟踪最常见的玩具。对于每个查询,我们只需要更新值(对于 L 和 R 之间的所有子项),并将它们与变量进行比较。

湾。最大连续拾取:一家工厂有几个盒子排成一排。您有一台机器可以拾取一部分盒子。为您提供了 N 个查询,其中每个查询包含一系列需要拾取的盒子。您需要确定机器在拾取过程中必须进行的最大连续拾取次数。

Input :  Q = 3
 Query Array: [[1,5],[6,9],[11,17]]  

Output : 9

Explanation: The interval 1-5 and 6-9 can be merged as 1-9. 
             Hence maximum continuous pickups = 9

方法:在我看来,这也可以归类为一个简单的问题。链接文章中建议的方法可用于合并区间。这个问题的唯一问题是我们必须将每个范围的结束值增加 1,因为即使从下一个数字开始的不同范围仍然被认为是连续拾取。

C。 OTT 平台广告:您是 OTT 平台的负责人。您有两个节目将在同一日期发布。您意识到广告部门不小心为第一个节目预订了比第二个节目更多的时段。认识到这种混乱可能有利于第一个节目,您只需要求他们修改广告位,以便两个节目具有相同的广告位。不幸的是,这个过程会导致已经购买的广告位丢失,因此您需要通过选择尽可能多的相同广告位来最大程度地减少过程中的损失。广告时间表 AD1 的示例是 abcdedgh,每个时隙 C1 的成本为 10。假设您无法更改广告顺序,请打印最小可能损失。

Input :  AD1 = abcdedgh C1 = 10 AD2 = abcdgbksmn C2 = 20 

Output : 130

Explanation: The final advertisement schedule is abcdg. So (8-5)3 
             slots were lost in AD1 and (10-5)5 slots were lost in AD2.
             Final loss = 3*10 + 5*20 = 130

方法:虽然问题的措辞很棘手,但该方法类似于称为最长公共子序列的动态规划问题

我能够在结束时间之前回答所有问题(大约提前 20 分钟)。在所有候选人中,只有 22 和 26 名候选人分别被选中 EE track 和 App dev track。大多数申请者偶然发现了动态编程问题,因为他们无法对其进行解码。因此,对于这样的考试,气质的重要性怎么强调都不为过。

虚拟面试

第一轮(技术面试)

1) 简介

2) 散列
– 任何散列技术的实现(我讨论了二次散列和正向散列)
– 给定一组数字,找出它是否包含重复项。 (最小时间复杂度)

3)Java
- 垃圾收集器详细
– 集合类和接口

4) 链表
- 查找循环
- 删除循环

5) 深入探讨项目及贡献

6) 排序
– 不同的就地分拣技术
– 不同排序技术的时间复杂度分析
– 快速排序实现

7) 操作系统
– 进程与线程
- 虚拟内存
– RAID
– 捶打
– 抢占式/非抢占式调度,饥饿
– 页面替换和页面错误

判决:拒绝

即使我能够回答所有问题,除了一个。我没有被选中。 EE Track (HR) 又进行了一轮,总共选择了 10 名申请人(EE+ app dev)。我唯一的建议是从你所有的拒绝中学习并尽快克服它们。在这个过程之后仅仅 2 天,我就被亚马逊入围了

我从这次拒绝中得到的主要收获

  • 从拒绝中学习并尽快克服它们是至关重要的。花在被拒绝上的时间最好花在为下一次机会做准备上。
  • 安置过程对您来说是艰难而快速的。每个公司都有不同的标准。我记得有一家公司拒绝了我,尽管我只用了 20 分钟就完成了一轮编码。不要在这个过程中寻求公平。
  • 面试时保持冷静和沉着。交流你所有的想法。尽量不要长时间停顿。如果您忘记了什么,请向面试官提及,并在尝试记住它的同时继续沟通。
  • 在选择要讨论的项目时,不要选择花哨的项目。从里到外选择一个你知道的。

面试准备技巧

  • 一致性是关键。每天复习你的 DSA 并继续练习编码问题。致力于构建编程逻辑并开发一种系统化的技术来解决问题。 (使用 InterviewBit、LeetCode、GFG 和 Hackerrank)
  • 努力在第一时间编写清晰易懂的代码(不犯逻辑或语法错误)。调试非常耗时,它将在面试和测试期间帮助您。
  • 尝试结合触摸打字。我的打字速度曾经是 30 WPM 左右,我花了将近 8 个月的时间才把它变成 95 WPM,但我确信它在面试过程中帮助了我。 (10fastfingers、Keybr 和 Typingclub 是一些有用的资源)
  • 面试前,先了解一下这家公司。他们的原则、工作文化等。
  • 在面试过程中,总是先讨论蛮力逻辑,然后再讨论更复杂的解决方案,并尽可能多地提出澄清问题。即使你以前尝试过这个问题,也要试着表现出你是第一次尝试这个问题。
  • 面试时要冷静、沉着、自信。没有必要回答 T 的所有答案。即使没有什么让你感到震惊,也要继续说出你的思考过程和合理的解决方案。你可能很亲密,即使你不是,至少,面试官能够解释你处理问题的方式。