秋招结束,总结了一下从寒假回来开始的实习生招聘和秋招面经,过来回馈一下牛客网。
1、一面 23分钟
看了你的博客,写的很多,介绍一个你研究最深入的领域吧 我说了Spring的IOC
再介绍下aop吧
算法题 two sum 和three sum
介绍下数据库的索引
又问了简历里的专利
评价下你自己
因为当时刚提交简历还没做测评,我问他测评还需不需要做,他说测评还是要做的,但是当我面完网易去做测评的时候发现编程题的链接已经打不开了,测评题随便做了两道就直接关了,因为当时面了一天试实在太累。
2、二面 41分钟
自我介绍
介绍个印象最深的项目,负责的模块、遇到的问题,全程都是我再说,他没有提问题
算法:二叉树转换成有序双向链表。不知道是不是故意的,他没有说二叉搜索树,然后我问了他,他说是二叉搜索树。要求我写代码然后读给他
算法:双向链表中插入一个结点
算法:把一个二维数组顺时针旋转90度。这个题因为以前做过还记下来了,我就说先对角线反转再中心反转,但是他好像没太明白,说有没有更优雅的方法,然后我又和他解释了一下,我觉得O(n)应该是最优的了吧
数据库,给一张学生的表,找出成绩在10到15名的学生。
说出自己的两个优点和缺点,我说完他还又问了一遍,好像是记下来了
你说你学习能力强,那你举个具体的例子吧
你有什么问题吗
二面之后第二天发短信提醒我做测评题,这里也是我大意了没有准备,边界条件写的有问题,没有全部通过,再第二天官网上写着已回绝。
3、总结
阿里的特点就是面试官上来就面试,从来不预约,而且很喜欢问你的有点和缺点是什么
阿里被拒自己确实有很大的问题,一方面当时在杭州面网易太累了性格测试没有做,但主要还是前面面试可能太顺利了有些大意,编程题本来可以做出来的自己却没有好好准备。
阿里状态更新还是很快的,起码不会让你纠结的等很久。
之后秋招本来没有投简历,官网上自动帮我投的,测评我也没时间做,结果突然打电话给我说要给我面试,问我第二天有没有时间,还要准备电脑在线写代码,因为当时在准备转正答辩,而且很久没有刷题了,就觉得希望不大想推一推,结果对面很执着,就约的第二天晚上8点。
1、一面电话面 大约一个小时
自我介绍,说一下你实习做了上面,遇到了什么困难
jvm了解吗 ,那你说下垃圾回收都有哪些算法吧。
怎么确定一个对象是不是可以被回收呢
可达性分析,还涉及到四种指针
那你介绍一下四种指针分别说明时候用
竟然连四种指针都说不全了,想了一会,然后说到weakhahsmap,我说有ThreadLocal
那你再说一下ThreadLocal是干什么的,说明时候用
我大概说了一下,很多都记不清了。
线程池有了解吗,你介绍下线程池的几个重要参数吧
这块也想不起来了,完全没有状态,他提示了一下,然后我结合起来大概介绍了点
Java中的锁有哪几种
我说内置锁,显示锁
不是语法层面上的,比如偏向锁(应该是这个,记不太清了),你有听说过吗
我确实没听过,他说那这块算了,我又问了,你是指自旋锁这种吗
那你说说自旋锁吧,嗯独占锁也说一下,他俩的区别呢。轻量级锁和重量级锁分别是哪个呢
我大概说了一下
分布式常用的框架有了解吗
没有
大数据呢
没有
Linux怎么样,内核了解过吗
没有,只停留在使用层面
好,那做两道算法题吧,在codepad上面
第一道,先写个简单点的,反转链表吧。
刚才比较简答,写个稍微难点的吧,描述了一会,是全排列,我也写出来了
最后还有个问题,给你个场景,你说下思路就可以:数据库,有很多元数据库,再同一时间从中央数据库查询数据,这样对中央数据库瞬间压力比较大,你有什么解决办法呢?
我说某个节点先复制数据,复制之后其他节点就从这个复制完数据的节点复制数据,这样就可以log形式完成数据的复制。(他开始说是查询,不过我回答的好像是复制了)