摩根士丹利信息技术部暑期实习终面(已OC)

一面(3月18日)完第二个工作日(3月21日)收到了终面通知,终面有点特别,分为4个part,总共3个小时,全英文笔面试。

Part1 (9:00-9:30)

加入会议室后,会有HR告诉你笔试链接(面试邮件中附了)的密码,30分钟2道代码题,核心代码模式,比较easy。笔试过程中HR会邀请你进入另外一个会议室,之后会有面试官进来。

题1

有一个停车场,共n个车位,均在一排。一些车位上停有一些车,给你一个list,记录了每个车的车位号。现在想要用一个roof覆盖k辆车,问这个roof的最小长度是多少?

输入:list = [6, 2, 7, 12], k = 2
输出:2
解释:共4辆车,想用一个roof覆盖2辆车。
   覆盖2号车位和6号车位,len = 6 - 2 + 1 = 5;
   覆盖6号车位和7号车位,len = 2;
   覆盖7号车位和12号车位,len = 6

先对list排序,再维护一个长度是k的滑动窗口,记录窗口左右两端的差值,即为roof长度,取最小值即可。

题2

给你一个list,记录了一些仅以小写字母组成的字符串。另外有一个query数组,对于其中的每个字符串s,输出在list中以该字符串为前缀的字符串个数。

输入:list = ["steve","alex","jack","steves","jackson","jacks"],
   query = ["steve","jack","alexs"]
输出:[1, 2, 0]
解释:以steve为前缀的有steves(steve自身不算)
   以jack为前缀的有jackson、jacks
   没有以alexs为前缀的字符串

构建一个字典树,先将list中所有字符串插入树中。对query中的每个字符串s,在树中进行搜索,找到最后一个字符所在节点(即以s为前缀),对此节点进行dfs即可。

Part2 (9:30-10:10)

9点半进来一个面试官,首先进行自我介绍,然后开启共享屏幕,需要给他展示一下笔试的结果,并解释思路。

  • 第二道题你用到了dfs,对图算法了解多少
  • 一般用什么数据结构存储图?
  • 两道题的时间复杂度各是多少?
  • 第一题你用到排序,你知道Java的排序用的哪个排序算法吗?介绍一下
  • 快速排序的时间复杂度是多少?是稳定的吗?举一个不稳定的例子(这里我知道是不稳定的,但例子举不出来orz)
  • 那你还知道有哪些不稳定的排序算法吗?举个例子(举了选排的例子)

这一轮主要就是聊笔试题,没有啥额外的问题了。

Part3 (10:30-11:10)

每轮面试结束后会有15分钟的休息时间,在会议室中等待下一个面试官的进入。第二轮面试同样需要打开共享屏幕,需要本地IDE。

  • 对Java的optional了解吗(用的很少,没继续问了)
  • 对stream了解吗?给你一个String stream,想要过滤其中以"a"开头的字符串,怎么写(用stream的filter方法,要求用lambda表达式,现场code)
  • 如果还想要返回结果呢?并以List的形式返回(collect方法)
  • 说一说hash table
  • String的hashcode怎么计算?如果让你实现,你会怎么实现?
  • Integer的hashcode怎么计算?
  • 关系型数据库和非关系型数据库的区别?了解哪些非关系型数据库?
  • 有两个表,一个表记录了员工id和员工姓名,另一个表记录了员工id和员工家庭住址,一个员工可能有多个家庭住址,现想查询所有员工的id、姓名和住址信息,怎么写SQL?
  • JVM的堆和栈分别存储了什么?
  • GC回收的是哪个区域的内存?

聊完之后写了两道题,还有反问环节。

题1: 用rand7实现rand10

提供一个函数rand7,可以生成1-7之间的随机整数,如何用这个函数生成1-10的随机整数?

力扣原题:用Rand7()实现Rand10(),拒绝采样

题2: 跳格子

给你一个数组step,step[i]表示在位置i,你最多跳step[i]步,即如果step[2] = 3,当你在位置2时,你最多能跳3步,跳到位置5。现在你在位置0,问跳到最后一个位置的最少步数是多少?

例1:
输入:step = [1, 2, 3, 4]
输出:2
例2:
输入:step = [2, 100, 1, 1, 1, 1, 1]
输出:2

动态规划,dp[i]记录跳到位置i的最少,两层循环,记录最小值即可。

Part4 (11:20-11:50)

这一轮是HR面,会有两个HR,主要问一些职业规划,个人工作方面的问题。聊的很尬,一方面是网络问题有延迟,总是听不清面试官说啥,另一方面我的口语还是太差了,找不出词汇表达。

  • 为什么会有转行的想法?
  • 为什么会对编程感兴趣?
  • 在你自学的过程中,如何平衡学习和转行的关系?
  • 你是怎样自学的?
  • 如果工作中有个任务交给你,但是语言是C++,你对此不熟悉,你会怎么办?
  • 为什么想来摩根?
  • 你了解摩根吗?
  • 未来3年,你更想在摩根这样的金融公司,还是eBay这样的互联网公司,或者是国内的企业?
  • 有什么想问我们的吗?

anyway,摩根的笔面试都不是很难,面试官都挺nice的,表达不出来也没关系。像这种外企除了基础能力之外,更可能看的是英文能力了,英语是短板orz,日后一定好好加强。

3月23日收到OC啦~

#摩根士丹利##面试题目#
全部评论
搂住太强了,请问是全程英文吗,我一面的时候半程以后面试官就让我说中文了
3 回复 分享
发布于 2022-03-24 15:08
感谢啊,社招跟实习面的东西会是一样的么~~
3 回复 分享
发布于 2022-03-27 00:52
笔试A了之后说会有电面,然而到现在都没有消息
2 回复 分享
发布于 2022-03-24 14:00
同学,你打算接offer吗?这家公司未来发展如何,感觉好像没有国内大厂技术强,有点纠结了。
1 回复 分享
发布于 2022-03-24 13:15
感谢分享 后天电面 接好运
1 回复 分享
发布于 2022-08-30 15:44 江苏
同一天下午面的现在还没有消息,呜呜呜估计凉了
点赞 回复 分享
发布于 2022-03-24 16:11
点赞 回复 分享
发布于 2022-06-04 02:08

相关推荐

10-24 13:36
门头沟学院 Java
Zzzzoooo:更新:今天下午有hr联系我去不去客户端,拒了
点赞 评论 收藏
分享
10-30 10:16
南京大学 Java
永远的鹅孝子:给南大✌️跪了
点赞 评论 收藏
分享
评论
18
142
分享
牛客网
牛客企业服务