活跃农民
- 积分
- 324
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2017-11-14
- 最后登录
- 1970-1-1
|
2019(7-9月) 码农类General 本科 实习@Morgan Stanley - 网上海投 - 技术电面 Onsite | Fail | 应届毕业生
注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
国内大三EE专业,找暑期实习中,4月4日参加了Morgan Stanley上海的AC面,今天下午收到拒信。反正大摩也与我无关了_(:з)∠)_,就把面经报上来帮助一下大家大概流程是这样的:
2月Morgan官网直接投简历
-baidu 1point3acres
3月5日收到网上笔试邀请,要求在3月10日前做完。一共有好多套卷子,包括C++、Cyber Security、Java、Perl/Python、Systems,只要做一套就可以了,选成绩最好的那一套作为最终成绩,我只做了一套java的。题目非常难,从Java基础到很深的JVM都会考,还包括一些Linux的内容。但是这轮笔试是可以开个IDE在旁边看结果的,甚至不会的题目可以直接上Google搜。。我就这么蒙混过关了2333
3月12日收到邮件邀请电话面试,约在3月14日下午。
.1point3acres
3月14日电话面试,都是技术问题,很多问题都不太想得起来了,把还能回忆起来的写在这里:
数据库索引是什么
JVM的垃圾回收机制
25匹马,每次可以5匹一起跑,问总共需要几次才能得出前3名
设计一个地铁系统的算法,要求给定起点和终点时,求出换乘次数最短的路径
。。。其余的都想不起来了,只记得大多都是java基础
morgan的技术电面问的都是比较基础的问题,通过电面应该问题不大。我记得我当时有好几个问题没有回答上来,本来面完就觉得凉了,结果居然在两周后收到AC面邀请,还是挺出乎意料的。
3月28日收到邮件邀请AC面试,约在4月4日下午。
4月4日AC面,30分钟笔试+2轮45分钟技术面试
笔试:让你对自己的各个能力(比如数据库、linux、C++、Java等等)打分(0~10),打分越高表示越熟悉。这个打分会成为之后面试官问你问题的依据。还有一道算法题,给定9个格子填入1~9个数,填入的数字不能重复,每3位构成一个数,使得n1 + n2 = n3。我的解法很straight-forward,直接递归把数字无重复地放到一个数组里,当数组的长度等于9时,就按3个数字一组,得到3个三位数。然后相加判断是不是相等。如果相等就把{n1, n2, n3}加入result。. From 1point 3acres bbs
第一轮技术面:
面试官看刚才笔试的算法题。面试官看完之后问我如果相等的话,为什么要用result.add(new ArrayList<>(temp))而不是result.add(temp)。这个问题我还真不太答的上来,只知道如果用后者的话,会因为JVM的垃圾回收而回收掉,最后result中的每一个元素都是空的。于是就各种扯栈和堆啥的。。光是这题讨论了15分钟,面试官可能也觉得我黔驴技穷了,就换了话题。我现在还是不太明白为什么一定要加new ArrayList<>,如果有人明白的话希望能回答一下~
写SQL语句:第一题比较简单,直接写了出来,第二题略难,我想了一会儿没想出来咋写,面试官就换了个比较容易的,做出来了。
写一个单例设计模式:去面试的路上正好复习了一遍,没什么压力地写出来了。然后面试官问我为什么要用volatile,我就给他说volatile保证了可见性,然后解释了一遍Java并发的大概原理(每个线程有自己的工作内存,线程只能操作这一块内存blabla,都是《深入理解java虚拟机》上的内容)。这时候我这一个多月依赖找实习阶段最无语的事情发生了:那个面试官说你讲的只是部分正确,然后跟我说并发的问题来源于CPU有多个core,每个core有自己的缓存。。。我当时就tm惊了。。。JVM跟CPU单核多核有一毛钱关系啊???但是面试的时候很紧张,甚至都没跟他指出他说的不是JVM里面的机制,嗯嗯啊啊就过去了。后来想想还是自己太紧张,起码这个明显是面试官自己的问题,应该好好和他argue一下的。
REST是什么:我回答他大概就是GET、POST啥的。然后他问POST和PUT有什么区别,我说一个常用于添加新对象,一个常用于更新已有的对象。然后让我分析/students/123和/students?id=123有什么区别,答不上来。各位如果了解的话也希望能告知一下hhh
问我做过的一个C#项目里socket是怎么创建的:我主要投的是java岗,没复习这个项目,所以没回答上来这个问题。
这一轮我自己感觉面得非常不好,很明显也能看出面试官不太高兴。45分钟结束的时候真的是长舒一口气。。也意识到自己基本上凉了。.1point3acres
第二轮技术面:
Java Bean是什么:乱答的。面试官追问Bean的scope有哪些,我知道总共有5个,但是只想起来singleton和prototype。面试官又让我给出一个prototype的例子,我回答说购物网站的购物车。其实这个例子不太准确,但是当时想不到更好的了。
Java Stream API是什么:老实回答说没用过,不清楚是啥
最常用的JDK是哪个版本:回答说JDK 11。追问JDK 11有什么新特性,没专门复习过,答不上来。。
算法题:给定一个数组,里面每一个元素都是一个interval,包括start和end,所有interval按时间从低到高排列而且没有overlap。现在给定一个新的interval,让把这个interval插入到原本的数组中,使得插入之后仍然保持有序且没有overlap。如果插入后产生了overlap就要merge成一个。我的做法是直接用二分查找从原数组中找到要merge的第一个和最后一个interval,把这些interval从原数组中删除,然后再在原位置上插入一个新的interval,这个新的interval的start和end就是merge之后的结果。面试官看完之后时间就到了,第二轮就结束了。
.google и
总结:.1point3acres
morgan的环境还是相当不错的,每年好像也招不少实习生,有意向的人可以投投看,现在summer intern网申还没有截止。但是第一轮那个面试官真的让我有些气不过,让我感觉起码他不是一个java面试官。。不过主要还是自己实力确实太捉鸡,继续努力吧。希望能帮助到各位。
顺便morgan无论笔试面试都是全英文的,不过也没啥好怕的,面试官的英文大多都挺emmm的,对于地里的各位英文肯定不是障碍。
. ----
补充内容 (2019-4-9 19:26):
写完这个帖子之后突然就想明白为什么一定要加new ArrayList<>了,因为直接result.add(temp)的话他们就都指向同一个地址去了,然后由于递归上层有remove(),所以最终temp内部是空的,这个跟GC没有关系。 |
上一篇: 阿里数据分析师内推,简历挂下一篇: Wish中国第二轮技术面+HR面
|