📜  摩根士丹利面试经历

📅  最后修改于: 2021-11-17 09:59:48             🧑  作者: Mango

摩根士丹利来我校实习和全职工作[6个月实习+全职]。我得到了 6 个月的实习机会。

第 1 轮:本轮分为三个部分:

  1. 资质
  2. 调试
  3. 编码

能力——这部分有关于排列组合、心理能力、复合兴趣等的问题。总问题 – 8,持续时间 – 20 分钟。

调试——这一轮又是8道题。持续时间为20分钟。给出了错误的代码片段,我们必须找到错误并纠正它。

编码回合——这一回合有 3 个问题,时间为 1.5 小时。

  1. https://www.geeksforgeeks.org/program-find-slope-line/的变体
  2. https://www.geeksforgeeks.org/largest-subarray-with-equal-number-of-0s-and-1s/的变体
  3. https://www.geeksforgeeks.org/longest-common-subsequence-dp-4/的变体

我解决了 10 道能力题中的 3 或 4 道,7/8 调试问题和所有编码问题。在 190 名学生中,他们选择了 24 名参加下一轮比赛。

第二轮:本轮话题丰富,持续1小时15分钟。告诉我你最喜欢的项目,你实现了什么,以及你面临的挑战是什么。

C++ 基础和面向对象编程

  • C++ 中有哪些不同的数据类型?
  • 什么是访问修饰符?
  • 解释面向对象编程。什么是继承?继承的类型有哪些?
  • 解释和编码多级继承。在多重继承中,定义基类的顺序是否重要。
  • 什么是多态?
  • 给出运算符重载的例子
  • 结构体和类有什么区别?
  • 什么是虚函数?解释虚拟表和虚拟指针。
  • malloc 和 calloc 有什么区别?
  • 什么是动态内存分配?

操作系统

  • 什么是分页和页面错误?什么是虚拟内存?
  • 什么是多线程?进程和线程有什么区别?
  • 有哪些不同的调度算法?为什么使用调度算法?
  • 什么是死锁?什么是互斥量和信号量?

DBMS:面试官问我是否了解数据库管理系统。我告诉她我曾与数据库打交道,但没有上过正式的课程,因为我不是来自 CS。然后她告诉我没问题,而是问我有关 Web 服务的问题。

网页服务

  • 什么是客户端服务器模型?
  • http 协议有哪些不同类型?
  • 什么是 REST API?有哪些不同的方法?

算法

  • 给定一个字符串向量,返回具有最大元音数的元素的索引。让我编写蛮力方法并讨论了优化的解决方案。

9/24 学生被选入下一轮。

第三轮:这一轮由一位非常有经验的工程师接手,是系统设计+人力资源轮。

系统设计

  1. 设计网上银行管理系统。低级系统设计和面向对象的编程是预期的。面试官还希望我处理并发问题。

人力资源类型问题

  1. 谈谈你的实习。详细问了我具体的实习。
  2. 谈谈你最喜欢的项目。
  3. 让我举例说明我在一个团队中工作的时间以及我处理过的职责。

最终选出了6名学生。 4 人提供实习 + 全职,2 人提供 6 个月实习。

准备工作:来自 GeeksforGeeks 的摩根士丹利档案。 (非常重要。很好地了解会问什么样的问题。来自 https://www.studytonight.com/cpp/ 的 OOP 和 C++

GeeksforGeeks 和 StudyTonight 的操作系统。我只研究了我观察到的摩根士丹利经常被问到的重要话题。他们是

  • 进程与线程
  • 为什么线程是轻量级进程而进程重
  • 多任务处理
  • 多线程。
  • 实现线程的简单C++程序
  • 死锁
  • 互斥量和信号量
  • 虚拟内存
  • 颠簸
  • 页面替换
  • 调度算法
  • LRU缓存

来自 Youtube 的系统设计和 Grokking 面向对象设计访谈。

数据结构和算法:Leetcode

修改了简历中的每一行。确保深入了解所有内容,简历上的任何内容都是公平的。