摩根士丹利来我校招聘暑期实习生(三年级学生)。
首先,对 HackerRank 进行了在线测试(时长 90 分钟),包括 19 个 MCQ(数据结构、C 概念、编程概念、数据解释、口语技能)和 2 道编码问题(一个基于字符串操作,其他基于 All -对最短路径图)。
大约 100 名学生中有 12 名入围面试。
一共3轮面试。
1. 人力资源面试
这是我第一次面试(我在校期间参加了很多 vivas,但之前从未接受过面试),所以感觉很紧张。
面试官问我紧张不紧张,我回答“是的,有点紧张!”。接下来的问题是:
*说说你自己。
*您对摩根士丹利了解多少?
*你在第二年末的夏天做了什么?
*您的 CodeChef 和 HackerRank 排名。
*告诉我你生命中的任何一件你觉得很遗憾的事情?
*除了摩根士丹利,您对其他公司感兴趣吗?
*为什么是摩根士丹利?
*你的长处。
*您如何看待 5 年后的自己?
以及更多此类问题。
然后我问他我们是选择我们喜欢的地点(孟买或班加罗尔)还是他们随机分配给我们,以及在摩根士丹利的生活。
2. 技术面试
*解释按值调用和按引用调用,使用调用堆栈,给出合适的例子。 (书面代码)
*是否可以在不使用任何循环或递归的情况下找到给定数字的阶乘?(书面代码)
*给定一个二叉树,打印所有边界节点,即所有最左边、最右边和叶子节点。(书面代码)
*您对操作系统了解多少?
*Windows 和 Linux 之间的差异,Linux 相对于 Windows 的优势。
*解释任务管理器及其各种进程。
*线程和进程。
*Chrome 和 Firefox 操作的区别。
*C 和 C# 之间的差异。
*详细解释链表。
*您更喜欢堆栈实现 – 数组还是链表?
* 给定一个同时运行不同进程、持续时间不同的处理器。这些进程存储在一个固定大小的循环链表中。还有等待的进程,它们存储在队列中。我们要打印刚刚完成的进程的id号,并将队列中的等待进程添加到这个循环链表中。同时,其他进程的持续时间减少了一些固定的数量。重复此操作,直到队列和循环链表耗尽(元素耗尽)。 (书面代码)
然后我问他我们将要开展的项目。他是一个友好的人,告诉我他们通常会提供给摩根士丹利实习生的许多现场项目。他还详细介绍了他目前正在进行的项目。
3. 技术+人力资源面试
首先,面试官问我对摩根士丹利及其运作和提供的服务了解多少。
然后他问了我最喜欢的话题,我回答了数据结构。
什么是栈和队列?
什么是面向对象?
然后他给了我一个管理电梯/电梯系统的真实场景。您有 3 部电梯,每层楼有一个控制器,即同一个上下按钮可以呼叫 3 部电梯中的任何一部。设计系统时,要考虑各种因素,例如如何根据楼层差异或时间或其他一些基础来优先选择电梯。然后他给了我一些电梯被叫到的楼层号和电梯的初始位置的例子,并问我将如何处理这些情况。这是一个长时间的讨论,持续了大约 15-20 分钟,他给了我各种情况并询问我的方法。基本上,他只是想知道我的思维过程,以及我解决此类现实生活场景的方法和逻辑。最后,他问我将用于此实现的数据结构,我回答说“双向链表”。
然后他问了一些人力资源问题:
*你的强项是什么?
*你的弱点是什么?
*为什么是摩根士丹利?
还有很多。
选拔5名学生实习。
总的来说,这是一次很好的经历,也是一次难忘的经历!