📜  摩根士丹利高级助理面试经验(2-3 年经验)

📅  最后修改于: 2021-09-23 06:05:56             🧑  作者: Mango

通过朋友的介绍得到了机会。他们总共参加了 1 次 Hackerrank 测试和 4 次面试。每一轮都是淘汰赛。

第 1 轮:这是一个由 3 个问题组成的 HackerRank 测试,其中一个是超级简单的,两个是中等难度的。

  1. 转换给定的回文字符串,使其成为非回文字符串。
  2. 计算将 N 以递增方式划分为 k 组的方法数。
  3. https://www.chegg.com/homework-help/questions-and-answers/2-nearest-neighbor-number-cities-arranged-graph-divided-like-ordinary-cartesian-plane-city-q44051613

第二轮:简单介绍, Java(不可变类,为什么String是不可变的,深入了解String池的优点,垃圾回收资格和JMM,HashMap内部结构,HashMap在Java是如何实现的,equals和hashcode函数覆盖的问题,LinkedList VS ArrayList深入, Java传值带例子,深拷贝和浅拷贝区别,final关键字,静态final,Comparable和Comparator实现和用例,Executor Service实现和用例)

简单的 DSA 问题:

  1. 检查 LL 是否为回文。
  2. 检查两个字符串是字谜。
  3. 从链表中删除一个没有头指针的节点
  4. 打印二叉树的左视图。

第 3 轮:

  1. 从 JS 中 == 和 === 之间的区别开始,就像它在 CV 中一样。然后只切换到Java 。
  2. 使用具有 O(1)、O(1) 和 O(特定时间存在的元素数)的 add、remove 和 getAll 方法实现数据结构。 DS 将仅存储 0 到 N – 1 个数字。提示是使用线性 DS。使用带有双重 LL 的数组。进行自定义实现,因为在这种情况下您不能使用库函数。
  3. 不可变类应用及优势
  4. Java 8 特性