终于收到阿里的正式offer,感恩牛客,写一下面经
8月底开始面试,3+1(hr),9月3号结束,后来原部门没有hc了把我调到新部门加了两面,前前后后一共6面,从开始面试到拿意向书再到谈薪和最终offer一共经历了2个月时间。
一面:
1、Java的多态2、类的关系,组合和聚合的区别、哪个关系更紧密
3、说一下反射,及你在项目中的应用
3、线程池,线程池参数
4、线程间的通信
5、介绍ThreadLocal
6、ConcurrentHashMap,JDK1.7和1.8的不同实现
7、hash算法
8、什么是时间复杂度
8、问项目
二面(总监面):
1、实验室研究方向,自己的研究方向,介绍发表的论文专利等
2、问项目,项目中数据库的结构设计,整体框架等,并从项目中引出了以下问题
1)用过数据库索引吗?介绍如何使用,何时使用
2)介绍B树、B+树、红黑树
3)数据库分页查询,如何分页,怎么实现
4)四种隔离级别,虚读和幻读什么意思发生在哪
5)使用的MySQL版本,和之前版本的区别
3、使用什么版本的JDK(我答1.8)介绍和之前版本的不同
4、1.7和1.8的JVM有哪些不同
5、1.8的垃圾回收算法,介绍你所知道的垃圾回收算法,CMS垃圾回收器简单介绍
6、ConcurrentHashMap的size()函数1.7和1.8的不同,或者介绍一下如果是你如何设计
7、排序算法,介绍一下快速排序,快速排序时间复杂度,是不是稳定排序,介绍几种你所知道的稳定排序算法
8、UDP,TCP,HTTP介绍一下,OSI七层模型
9、最近阅读的书籍(Spring Cloud、Spring boot),从什么网站学习(Github、知乎、开源社区)
10、说几种你说熟悉的微服务架构(可以不说属于开放性问题)
11、Redis支持的数据结构
12、讲一下一致性哈希
13、最近拿过什么offer,哪些公司,做什么
三面(交叉面):
1、介绍一个你觉得最自豪的项目,依托这个项目问了很多问题
2、说一下你觉得你最熟悉的Java那个领域,根据这个领域问了一些问题
3、问JVM主要是各种垃圾收集器、GC算法,安全点
4、介绍volatile
5、java内存模型
6、synchronize,以及与Lock的不同
7、Java内存泄漏如何排查排查
四面(HR面):
一些hr常问的问题,比如:最得意的事,最失败的事,参加的比赛,印象深刻的事,为什么来阿里,对这个部门了解吗,等等。
五面:
第五轮属于调部门后加的一面
1、面试管问了自己做过的项目,挑一个你认为最好的项目讲解,期间问了很多项目中的问题,比如:做项目中遇到的问题如何解决,你觉得你在项目中做的最好的一个点是什么,还有什么改进的地方,并发访问量有多少,数据库如何设计等等。
2、问了科研情况,发表的论文以及论文中的主要工作。
这两个问的都挺细的
六面(部门leader和hr一起视频面):
leader也是问了做过的项目,问的比较细,讨论的比较多(建议一定要准备一到两个拿得出手的项目,而且一定要实际做过,了解其中的问题和难点,这样才能和面试官聊)
hr问的问题和第四面差不多。
#阿里巴巴##校招##面经##Java工程师#