摩根士丹利访谈 |设置 17(校内)
第 1 轮:1.5 小时
===================
这是在 Hackerrank 上举行的初赛。它包括 20 道 50 分的 MCQ
和 2 道编码问题,每道 75 分。我们有 1.5 小时的时间来解决所有问题。
这一轮的问题来自一系列主题——数据结构、计算机网络、操作系统和一些定量能力问题。其中一些与找不到关节点、调度程序与调度程序、A、B 类... IP 地址、链接、中断处理程序、联合兼容表等有关
这些是编码问题:
1)有通过双向电缆连接的服务器网络。
我们必须找到两台服务器之间的最短路径。
输入格式:
第一行:N(服务器数量)E(电缆数量)L(每条电缆的延迟,全部
电缆具有相同的延迟)
E线每条包含:S(源服务器)D(目的服务器)【有电缆
服务器 S 到服务器 D 之间]
E+1 行:K(测试用例数)
K 行每行包含: S(源服务器) D(目标服务器)
输出格式:
For each of the k test cases find the shortest path between s and D.
Constraints :
1<=N<=1000
1<=L<=400
1<=k<=109
2)鉴于数字只能包含数字 0,1,2,3,4,5 找到第 N 个这样的数字。
Example input : 6
Output : 10
本轮结束后,25人入围技术第一轮
=========================================
第 1 轮技术:(第 1 轮)(45-60 分钟)
=========================================
面试官很热情。他首先问我关于我自己的情况,然后是技术问题。
Q.1 您探索过哪些技术?你用他们解决了什么样的问题? (因为我提到我喜欢探索新事物)
Q.2 他浏览了我的简历,注意到我提到了许多语言,但没有提到 C++,他无意中问我“什么是 vtables”。我完全不知道,他说这是一个很明显的事情,对于一个 CS 人来说,对于一个 CS 人来说。后来我意识到 vtables 用在 c++ 中,这家伙可能动摇了我的信心:/
Q.3 在从 1...N 的排序数字数组中找到一个缺失的元素(我不知道他为什么问这个:p)
Q.4 REST vs SOAP(因为我有很好的网络开发经验)
Q.4 一些基本的 OOP 概念以及它们是如何在Java中实际实现的,即 JVM 在运行时如何做事(运行时多态性实际上是如何工作的)。我告诉他我从未阅读过语言规范,但也告诉他如果我要实现它我会怎么做。他似乎很满意。
Q.5 给你一个单词字典,例如 {'My','name','is','XYZ'} 以及一个像 XYZisMyname 这样的句子。你必须找出这个句子是否只由字典中的单词组成。我向他解释了一种基于 TRIE 的方法,他指出了一些陷阱,后来我对其进行了改进。
Q.6 这是一个艰难的问题,因为它出现在我在 GfG 上阅读的许多候选人经历的第四轮中。有一个很大的仓库,有很多叉车用来把东西从一个地方运到另一个地方。现在你要设计一个完整的系统来管理它们,这样叉车就不会发生碰撞,而且它们总能找到
到达目的地的最佳路径。你必须设计算法、数据结构(以跟踪坐标、位置等)、类等。我提出
许多方法,但他对其中任何一个都不满意,并继续指导我最终找到一个足够体面的解决方案。
Q.7 为什么选择摩根士丹利?我给了他一个稳重而平庸的答案,他开玩笑地回答说这根本不诚实:p
对于第一轮来说,这是一个非常艰难的比赛,因为我没有得到几个问题,但我认为这是我的方法和对基础知识的强烈掌握使我与众不同。
在此之后,8人被选中进入下一轮。
=======================================
小组活动:(第 2 轮)(30-45 分钟)
=======================================
我们被分成两组,分发了一张图表纸、乐高积木、粘土。我们有 30 分钟的时间,必须想出一个创业点子及其主要特点,
商业模式、标志、名称、融资计划等。然后在一轮中途,我们被要求放弃我们的想法并选择一个新的想法。所以这是一个非常激烈和密集的一轮,有时感觉就像是路人采访,但绝对有趣!
==========================================
技术第 2 轮:(第 3 轮)(60-80 分钟)
==========================================
我会说这是我最好和最差的一轮。几乎每个面试官都有专长,而这个面试官有操作系统。他让我介绍 myslef 然后问我什么
我最喜欢的科目是。我提到了“操作系统和 DS”,这让他脸上露出了灿烂的笑容:/
Q.1 什么是分页、页表、虚拟内存,为什么需要,页表和虚拟地址空间的最大大小可以是多少。
Q.2 我喜欢 OS 中的其他东西,我告诉他 IPC、Threads 等,下一个问题接踵而至。
Q.3 这是一个奇妙的问题,他构建它的方式 - 一层一层的太棒了!他问我浏览器(你使用哪一个,为什么?)以及它们之间的区别。显然他
正在从操作系统的角度寻找答案。所以我告诉他 Mozilla 是多么的快,打开几个标签后 chrome 变得多么糟糕。然后他问我关于
原因。在得到一些指导后,我告诉他 Mozilla 如何为您打开的每个新标签使用线程和 chrome 使用进程,然后他问我
chrome 如何跨标签共享 cookie,这就是 IPC 上的问题。然后我被问到同步等问题。
Q.4 设计一个“播放列表”功能(包含所有类和数据结构)以及我将如何实现它以及我将使用哪些数据结构。
他还要求我实现“随机播放”功能,其中每首“下一首歌曲”都是随机播放的,您还可以在列表中来回移动(上一首和下一首)
确切地说,您应该能够-
(1) 创建播放列表
(2) 添加歌曲
(3) 删除歌曲
(4) 洗牌
(5) 播放上一曲或下一曲
Q.5 你必须设计一个足球比赛,其中球队、球员等将是班级,他让我列出所有涉及的实体并在那里提及
属性。我告诉他我将如何创建各种类并在它们之间定义继承(如 player->mid、def、attacker 等)。就在这看起来很容易的时候,他告诉我
我将如何设计算法来传球、进球等。所以我告诉他我将如何根据球员的角色对球员进行评分,以及他们的技能将如何决定他们的动作,
传球,射门。我们如何创建一个图表来找到球员之间最终达到目标的路径,以及如何在边缘赋予对手高权重以支持长传
而不是一个有很多对手的短板,他们的能力将如何决定做某事的可行性。整个事情很有趣,我希望我们有更多的时间
讨论🙂
我会说我只回答了 80% 的问题,但我向他展示了我对概念的精通。自信,不必回答所有问题
但思考和迭代改进你的方法非常重要。
==================================================== =========
专业健身回合/技术+人力资源:(第 4 回合)(45-60 分钟)
==================================================== =========
这是人力资源和技术的混合体。我基本上被问到了同样的老问题“为什么是摩根?”,但这次我给了他一个非常真诚的答案,然后问题接踵而至:
Q.1 为什么选择摩根?
Q.2 你帮助别人的一个例子? (因为我已经提到过)
Q.3 家庭、背景等
Q.4 什么是 AJAX 以及如何将它与 NodeJS 一起使用(因为我在以前的实习生中从事过 NodeJS 工作)。
Q.5 实施一个必须实时显示股票价格的系统。我告诉他我将如何设计我的前端和后端。我提到了两种方法——长轮询
方法和另一个使用套接字。我告诉他我将如何维护不同版本的库存表以及第二种方法将如何有益。这是我的
实习生帮助了我,因为我必须构建可扩展的后端来维护数百万个打开的连接并使用会话重用等。我给了他一个粗略的架构并解释了
它的工作,他似乎印象深刻。
Q.6 我的高等教育计划是什么?
Q.7 X = abcd, Y = a*b*c*d(必须是 4 位数字)
求 a,b,c,d 使得 X+Y 最小。
由于我很累,我摸索了很多,但他非常慷慨地指导我🙂
=================================
HR 轮:(第 5 轮)(15-20 分钟)
=================================
Q.1 为什么选择摩根?为什么只有 Morgan 而不是 X,Y,Z?
Q.2 你不喜欢什么?你如何处理它?
Q.3 你打算做MS吗?
Q.4 有任何问题吗? - 是的,绝对:p
尖端:
1. 摩根士丹利的面试与其他面试大相径庭。你不仅要成为一名优秀的程序员,还需要良好的沟通技巧、肢体语言和自信。
2. OS、CN、DBMS、DS很重要!要通过这个艰苦的 5 轮流程,您需要对它们有很好的了解。
3.尽可能多地谈论你的项目,花在谈论项目上的时间可以让你避免一些你可能不喜欢的问题!
4. 大声而清晰地谈论你最喜欢的科目。很有可能你会被问到关于它们的问题。
5. 当你遇到困难时寻求帮助。这些人非常友好,他们会很乐意指导你直到某个点。
6. 如您所见,很多问题都涉及选择正确的数据结构、算法来解决现实生活中的问题。它只来自实践和经验😉
6. 继续编码并从 Gfg 做 MCQ 🙂