阿里面经(6面)

楼主8月3号投递阿里Java开发岗,9月4号收到意向通知,中间经历6次面试。过的时间久了不会描述很具体,简单说说吧。

背景

使用Java到现在大概有一年多的时间,之前一直做硬件,所以Java算不上很好。投递的时候,实习刚辞职,也没准备笔试面试,很多东西都忘记了。了解到内推挂了不影响秋招才敢投的,就是想着刷刷经验而已,从没敢奢望什么。在投递前的半个月,刚刚用10天左右通读了《Java并发编程实战》,认真做了笔记,算是有点心得,面试的时候帮了很大忙。

6次面试分别是:

4次技术面+1次HR面+一次了解情况的唠嗑(勉强算一次面试吧)

一面

8月5号

  1. 自我介绍
  2. 聊聊项目,我主要说了实习时候的项目,顺带聊起了数据库、缓存相关的问题。
    • ACID
    • 事务隔离级别
    • MVCC
    • 数据库分表
    • 索引
    • 缓存一致性
  3. 在自我介绍的时候,我有说自己多线程方面掌握的还可以。面试官后面问有没有读过什么源码,很自然的就回答读过Spring、JDK、以及java concurrent包下面的相关类等。于是顺带就问了些常见的并发问题:

    • volatile 有什么作用
    • sychronized和lock有什么区别
    • 线程安全性问题有哪些?
    • 造成死锁的原因
    • 加锁会带来哪些性能问题。如何解决?
    • HashMap是线程安全的吗?Hashtable呢?ConcurrentHashMap有了解吗?
  4. 关于JVM

    • java内存模型
    • 垃圾收集器
    • 双亲委派模型。
  5. 你有什么问题要问吗?

二面

  1. 自我介绍

  2. 有没有参加过ACM,有没有参加过其他竞赛,有没有拿过什么奖?研究生期间,做过什么项目,发过论文吗?有什么成果?

    我的回答是,没参加过ACM,本科参加过数学建模竞赛,名次并不好,没拿过什么奖。(面试官开始有点失望的样子了)但是,我说研一做了一个军工项目已经投入使用,项目数据是保密的,但是内容不保密,可以讲讲,面试官比较有兴趣了。

  3. 你觉得你有什么优点、缺点?你觉得你身边比你优秀的人,他们有什么特质是你没有的?

  4. 做java有几年了?实习期间做过什么项目,你能挑一个给我讲一讲吗?

    做过很多项目,但是这次想说个复杂点的,也是第一次讲这个项目,描述有点乱,方向带偏了,导致后来面试官没听明白我说的是什么,我也没听明白他问的是什么,导致气氛十分尴尬。

  5. 可能是为了缓解尴尬气氛,面试官问了个简单的问题,冒泡排序和快速排序有什么区别。

  6. 你有什么问题要问吗?

应该还有其他问题吧,答得还可以,但是具体问的啥我忘记了。

总结:之前一直以为,我投的是软件开发岗,面试官对硬件项目不感兴趣,就一句话带过,很少提。但是经过二面,意识到,其实面试官更多关注的是应试者的学习能力、态度、经历、思考等,就算没有太多软件开发相关的项目经验、成果,把你的体现在其他方面综合实力展现给面试官就好。所以后面给面试官自我介绍的时候,不单聊实习项目,还会说说研一做的硬件项目,并强调已经投入生产环境使用。

感觉这次面崩了,觉得没戏了,就没再准备。后来四五天的样子,内推人说,你竟然面到交叉面了,好厉害。基本上没收到拒信或者进度表上不是显示“已回绝”就表示还有戏

三面

8月12号,应该就是交叉面

从三面开始,感觉就差不多清楚套路了,自我介绍怎么说,怎么引导面试官去问我想让他问的问题等等,都有自己的想法了。面试官提出一个问题,是想考察什么,我也基本清楚,有时候不确定面试官的意思的时候,我会反问一句,您是想考察XXX方面的知识吗?我有一些理解,可以给您讲讲。

  1. 按套路来,还是自我介绍。

  2. 由于我强调了自己做的硬件项目,不出意外的,面试官问的比较详细,由于都是自己做的,理解的很清楚。但是这里有个重要一点是,你是清楚这个项目,你也研究过这个领域,你怎么把你做的项目,讲的通俗易懂,其实不容易。我通常会用面试官可能熟悉的知识去对比着讲硬件项目的东西,所以就很容易讲明白。不过阿里的程序员,说完全不懂硬件,不可能。

    依托于项目问了TCP和UDP的区别。

  3. 在实习的时候,做过什么项目没有,哪些是技术性比较强的?可以讲一讲吗?

    讲了一下项目、说了说消息订阅发布,提了K8S、docker等。

  4. Redis有了解吗?有什么特点?分布式有了解吗?(了解都不多,但是可以聊聊想法)

  5. 有读过什么源码吗?

  6. 考察一些java基础知识

    • HashMap、ConcurrentHashMap、volatile 、sychronized
    • Java内存模型、垃圾收集器、类加载机制、双亲委派模型
    • Spring相关 IoC、AOP
    • 数据库相关:ACID、事务隔离级别、MVCC等
  7. 最后一题:一个3升的桶和一个5升的桶,怎么得到4升的水。

上面的问题基本都答出来了,多数聊的比较细致,面试官挺满意的,直接就给我说:好,可以,后面等通知吧!

四面

三面面完当天,晚上9点接到四面电话。感觉像是总监面。

这次面试和前面感觉明显不一样,问题不拘小节,注重思路,重点聊了实验室的硬件项目,还有在网易实习的时候的一个简单的任务,然后聊了实习那个项目的一些问题。

后面又问了一些简单的问题:

  1. HashMap、ConcurrentHashMap、volatile 、sychronized
  2. 出现死锁怎么排查?
  3. 如果查看堆内存信息?
  4. 出现OOM怎么排查问题?

还问了其他一些问题,我就记不太清了,不是很难,但是自认为回答的都比较具体,讲的比较清楚。

HR面

8月17号

HR面就比较常规了,但是阿里的HR面也要让我给她讲项目,也是很神奇。

  1. 你觉得你有什么优点?有什么缺点?分别举例讲一讲。你怎么克服缺点?
  2. 你觉得最有成就感的一件事是什么,你遇到了什么问题,怎么解决的?
  3. 你前面跟其他面试官讲过一些你做的项目吧?可以给我讲讲吗?你要考虑到我不是一个做技术的人,怎么让我也听得懂。项目中有什么问题,你怎么解决的?你最大的收获是什么?
  4. 你在实习工作中,有什么收获?有什么贡献?
  5. 你目前有面试过其他公司吗?如果让你选,这些公司和阿里,你选哪个?(送分题,回答不好可能送命)
  6. 你期望的工作地点是哪里?
  7. 你有什么问题吗?

面试完,HR说8月25号之前,实习转正会答辩结束,把所有面试情况盘点,后面一到两周会给出结果,发出意向书,如果下次我再给你打电话,会讨论薪资。

六面

8月24号,中午在午休,突然接到阿里的电话,一听声音比较像二面的面试官,二面面崩了,于是心里也是很紧张。跟面试官说我等我5分钟,整理一下衣服,找个安静的地方面试。期间调整了一下情绪。

5分钟后面试官打来电话

  1. 你面了几面了?我回答您这算第6面了。面试官说严格说我这不算是面试,就是想了解一下情况,时间比较紧,咱们简单聊。
  2. 1分钟的自我介绍。
  3. 做项目的时候,你有什么收获,遇到问题你是怎么解决的?
  4. 有参加过什么竞赛吗?有发过论文吗?有什么成果吗?
  5. 参加过什么学生活动吗?担任过什么职务?
  6. 读过什么源码吗?关注过什么开源项目吗?
  7. 分布式有了解吗?
  8. 并发编程怎么样?线程池有了解吗?
  9. 在实习期间有什么收获吗?
  10. 实习期间你对公司有什么贡献吗?
  11. 你有什么问题吗?

这里,我问了面试官,要胜任阿里的工作,我有哪些方面是比较欠缺的,是要努力补足的?

面试官,想了想,说基础知识、态度都挺不错,做事情很积极,也有自己的思考,比如你提到解决问题要总结更深层次的问题原因,这很好!以后可以在Java和分布式方面进行更深入的学习……你可以加我钉钉,说后面方便联系。

后面咨询了一下内推我的朋友,如果我能进去,6面面试官应该就是我的直接主管了,6面面试官说你没问题,那就没问题了,可以放心了。

总结

  1. 可以看到,其实面试官问我的问题都是比较常规的,没有特别难。而且有些问题面试官几乎每次都问。常见的问题,不管是哪个公司的哪个面试官,暂时没想好问你啥的时候,脱口出来的就是最常问的问题,一定要深入的去准备,别回答的太皮毛。在网上刷刷面试题,就想应付这些常见问题是不行的。你要去看源码,去抠细节,回答的比别人详细具体,这样才能突出你的认真和努力。

    比如说:TCP和UDP的差别,个人认为如果只答出来:

    TCP面向连接,是可靠的,UDP不可靠。这样的回答完全不够。

    回答应该全面、详细,我的回答中还包括:

    • 对比了TCP、UDP的内部数据结构。
    • TCP基于数据流传输,UDP基于包传输。
    • TCP建立连接需要三次握手,讲了一下三次握手具体过程,有什么作用。
    • 提到了TCP拥塞控制,以及相关问题。
    • ......

    面试官看我回答很详细,还没回答完,就很满意的切换问题了。

  2. 前面有提到,如果你投的互联网,做软件开发,你的项目经验少,可以用硬件项目来补。向面试官强调解决问题的思路,你的收获,以及延伸出来的一些思考,这样可以向面试官展现的的综合能力。也许你现在你项目经验少,基础不够好,但是你要有优秀的特质充分展现给面试官。

  3. 语言表达和沟通能力很重要,很重要,很重要!如果这方面不是很强, 面试一定要多演练、准备。引导面试官去问你熟悉的内容。

最后

面试完以后,会经历度日如年的等待,真的很熬人,每天到会到阿里校招个人中心刷很多次进度,不停的刷牛客上刷讨论区的消息,后来等待意向书的牛友们建了群,我也去找了组织,和大家一起等,发泄焦虑、吐槽进度慢什么的,真的很缓解压力。

感觉这次运气还是很不错的!

在此感谢亲人、朋友给我的支持和帮助!
在此感谢牛客网,感谢牛友!

#面经##Java工程师##阿里巴巴##内推##秋招#
全部评论
大佬  请教一下如何引导面试官问你想被问到的问题呢?
点赞 回复
分享
发布于 2018-09-06 09:10
沾沾喜气
点赞 回复
分享
发布于 2018-09-05 18:57
联易融
校招火热招聘中
官网直投
楼主什么岗位的?我是阿里口碑的,加一下微信吧
点赞 回复
分享
发布于 2018-09-05 18:57
恭喜恭喜!
点赞 回复
分享
发布于 2018-09-05 19:08
楼主你好,请问缓存和数据库的一致性,要怎么回答呢
点赞 回复
分享
发布于 2018-09-05 19:45
恭喜楼主
点赞 回复
分享
发布于 2018-09-05 21:05
恭喜恭喜
点赞 回复
分享
发布于 2018-09-05 21:51
楼主请问一下,你是校招还是社招?
点赞 回复
分享
发布于 2018-09-06 23:32
恭喜,收藏了
点赞 回复
分享
发布于 2018-09-07 08:55
哇,楼主玩的什么硬件?
点赞 回复
分享
发布于 2018-09-15 18:32
楼主大佬,你之前是做硬件的?然后转行做软件了?请问你转软件后大概学了多少时间啊?会不会很吃力?我现在大三了,之前做了一年硬件,现在也想往JAVA方向走,希望你可以给我一点建议。谢谢!
点赞 回复
分享
发布于 2018-10-15 18:46
阿里现在应届生批发价多少?
点赞 回复
分享
发布于 2018-10-15 22:45
楼主,p几呀
点赞 回复
分享
发布于 2019-02-25 22:09
沾喜气来了
点赞 回复
分享
发布于 2019-03-31 22:07
恭喜,感谢大佬分享
点赞 回复
分享
发布于 2019-04-01 13:31
大佬本科还是研究生呀😁
点赞 回复
分享
发布于 2019-04-04 11:13
请教大佬,学习了多久java啊
点赞 回复
分享
发布于 2019-05-12 20:42
看这面试内容莫不是阿里云
点赞 回复
分享
发布于 2019-05-12 20:50
lz之前在哪实习啊?
点赞 回复
分享
发布于 2019-06-02 15:12

相关推荐

28 407 评论
分享
牛客网
牛客企业服务