📜  摩根士丹利面试经历 |设置 32(校内)

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

摩根士丹利面试经历 |设置 32(校内)

能力倾向测试(90 分钟,在 Hackerrank 上)
7个基于数学和逻辑的能力问题<
7 个关于数据结构的技术主题问题,1 个来自 OS(我很少
记住)

  1. 散列(线性探测)
  2. 计算页面错误
  3. BST 预购和后购
  4. 图形最小距离
  5. 递归(给定一个递归函数f(int a),求 f(8))
  6. 在 BST 中查找 Inorder 继任者

    2 编码问题
    1.字符串操作
    给定两个长度相同的字符串 A 和 B。您可以将 A(i,j) 的任何子字符串替换为
    B(i,j) 的子字符串。(这里请注意,来自 A 的子字符串和来自 B 的子字符串应该具有相同的
    开始索引和结束索引)。查找唯一字符串的数量是可能的。答案可能是
    large.print 答案%1000000007。

    Note : Substring can be empty.
    Test Case
    1.
    aaa
    aaa
    -> answer :1

    解释:无论你替换什么子串,都只会形成一个唯一的字符串

    i.e aaa.
    2.
    abc
    xyz
    -> answer :8 


    解释
    :
    8 种不同的字符串是可能的...{abc , xyz , ayz , xbc , ayc , xbz , abz ,
    xyc}

    2.矩阵问题
    给定一个大小为 N*N 的方阵 A[][]。矩阵的每个元素 A[i][j] 是红色或蓝色。
    红色 -> 1
    蓝色 -> 0
    你也得到了一个数字k。找到最大正方形子矩阵的边,最多为k
    红细胞。

    Constraints:
    Size of matrix,N<=500
    
    Test Case:
    3 2 (N k)
    1 1 1
    1 0 1
    1 1 0
    Answer : 2 

    解释: 具有左上角 (1,1) 和右下角 (2,2) 的子矩阵是具有最多 2(即 k)个红细胞的最大方形子矩阵。

    现场面试
    第一轮(技术):

  7. Java

    1.抽象和接口的区别?
    2.“Animal”应该是抽象类还是接口?
    3.为什么Java开发者想到引入接口?
    4.很少有关于相同抽象与界面主题的深入思考问题。
    Java中的多态引用。

  8. 数据结构

    1.编写用于检查字符串回文与否的递归代码。
    2.堆栈和队列一起使用,检查字符串是否为回文。
    3.给定一个数组和一个总和,找出数组中是否有任何对的总和等于给定总和。(我使用了hashmap,关于hashmap复杂性的问题很少)
    4.给定一个数组和一个总和,找出数组中是否存在总和等于给定和的三元组。

  9. 操作系统

    1.你想在电视上同时播放动画和电影,你会怎么做
    调度它?(被问及使用不同的调度算法)

  10. 数据库管理系统

    2.找到表中薪水第三高的元组。

    第二轮(小组活动)

    10名候选人从第一轮中选出,在这一轮中,我们得到了乐高积木。他们告诉我们
    在一个团队中工作并使用乐高积木建造一些东西(我们做了一个太阳能电池板房)
    30 分钟。之后,有一个 5 分钟的关于我们刚刚构建的产品的演示。我们有
    打动投资者投资我们的产品。
    还要写下你的产品的特点。设计公司的标志和名称。
    第三轮(技术-系统设计)
    为飞机设计一个订票门户。您拥有 JET 等各种航空公司的 api
    Airways,Indigo 获取所有飞机详细信息。用户将来到您的门户网站预订机票。使用
    apis,确认各航空公司机票的可用性并预订用户选择的机票。
    设计数据库结构、类图、系统流程。

    第四轮(人力资源)

    1.关于实习
    2.团队工作经验
    3.编码经验
    4.你的偶像是谁,为什么?
    5.为什么选择摩根士丹利?

    第3轮有重新面试
    设计UBER。(数据库结构,OOP模型)
    编译时多态的一些基础知识。

    要遵循的提示:
    三年前

  11. 专注于学术。在学术上取得优异的成绩,因为只有 8.5(去年 9)CGPA 以上的学生才被允许进行第一轮(aptitude round)。
  12. 选择一种编程语言,如 C、C++、 Java、 Python并开始学习所选语言的语法和语义。(与其他语言相比, Java是一个更好的选择)

    两年前

  13. 标准参考书或在线资源开始学习数据结构、 Java、DBMS、OS 等
  14. 解决来自 geeksforgeeks、ideserve、careercup 等网站的算法。
  15. 在hackerrank开始编码并积极参加所有比赛。专注于提高每场比赛的表现。
  16. 寻找实习机会

    一年前

  17. 从事一些大型长期项目(这样你就可以在简历中炫耀)
  18. 专注于建立一个平衡良好的简历,它应该能够揭示你的个性的整体发展。(参加 GD、辩论、体育活动、编程比赛、黑客马拉松等)。
  19. 在 codechef、codeforces 中开始编码。

    几分钟前
    想想你为这次面试准备的所有日日夜夜!