阿里Java研发 面经全记录 许愿offer call

一面(25m)

1. 自我介绍

2. 简单介绍一下Hadoop生态圈

3. HDFS是如何进行工作的(回答了读写数据的流程)

4. Hadoop2.0的高可用简单介绍一下,为什么要使用ZooKeeper

5. Hadoop和Spark的区别,分别在哪些地方使用

6. 是否还了解其他流式处理的工具

7. 说一下Kafka的特点(从分区,副本,Consumer Group等方面说了一下)

8. Kafka分区机制有什么优势

9. 了解Kafka的零拷贝吗?(这个当时没答上来)

10. 如何解决项目中的高并发问题的(答了使用Mysql乐观锁更新的思想,面试官觉得并发太高可能会有问题,就继续让想想能不能加入Redis进行优化)

11. Redis的IO模型了解吗(答了多路复用,就让我继续展开讲讲IO多路复用的实现)

12. 为什么要使用Hbase(项目中有提,从随机存储,易扩展,hdfs等方面回答的)

13. 手里有其他公司Offer嘛,然后聊了一下事业群的一些事情。当场告诉我接下来会有同事来进行一个比较全面的面试,包括Java基础等等。希望我好好准备,并能够总结一下项目的成果和创新点等等。

一面应该算是简历面,基本上就是照着简历问的。不过没有太多的涉及到Java知识,开始还奇怪,后来发现二面、三面都狂攻Java的知识点。


二面(1h10m)

1. 有什么问题想先问我么?我简单问了一下bu的业务等等

2. 说一下你理解的封装,继承和多态

3. 使用过Java集合吗,介绍一下集合 (我说了一下List,Set,Map几种实现类的区别和特点)

4. 说一下LinkedList和ArrayList插入的复杂度

5. 刚才你说ConcurrentHashMap是线程安全的,如何保证的

6. 了解异常体系吗,介绍一下异常体系

7. 异常捕获时,是先捕获小异常还是大异常(不确定,回答了小异常)

8. 有用过线程池么,介绍一下有哪几种线程池

9. 使用过ThreadLocal吗,介绍一下

10. 线程池中使用ThreadLocal会有什么问题

11. 说一下乐观锁和悲观锁

12. 介绍一下各种排序算法的时间复杂度

13. 说一下你知道的树,并讲一讲他们有什么特点(说了字典,AVL,红黑,B树,B+,并且提了B+用在数据库索引的原因)

14. 讲一下Mysql的四个隔离级别

15. 是否有数据库调优的经验,主要在哪些方面(慢查询,索引失效等等)

16. 使用过哪些中间件和框架等等

17. 平时阅读过哪些源码

18. 聊项目,收获、亮点、成就,是否落地等等

19. 最后聊了一会

二面面试官应该是项目组的leader,问的比较详细,对基础问的很全面了,相比后面的三面来说,二面问题还比较常规

三面(1h 7m)

1. 自我介绍

2. 平时通过哪些途径去学习的

3. 使用什么版本的Java,介绍一下该版本的垃圾回收机制

4. 了解G1垃圾收集器吗

5. Linux下如何看CPU的运行状态,如何看具体进程线程的情况

6. 线程的六大状态

7. 程序出现死锁时,CPU和内存的变化

8. 程序出现死锁如何进行定位,如何解决(答的不是很好,回答了用jstack定位代码,并应该尽量提前避免死锁,比如使用tryLock之类带时间限制的)

9. 一个程序,while(true){new Thread().start()}运行会发生什么(不是很清楚,回答了抛异常,应该会堆或者栈溢出,但是下来跑程序什么也没抛,好像是JVM1.8限制了最大创建线程数量?)

10. 用过什么线程池,使用Fixed的线程池时如果一个线程出现异常,那么核心线程会发生什么变化

11. 介绍一下ConcurrentHashMap的数据结构以及为何线程安全。它的size()函数怎么保证返回正确值。是否有更好的方法可以更加去优化它的锁机制(没有答出来)

12. Synchronize和ReentrantLock有什么不同

13. 网络七层模型介绍一下,HTTP和TCP分别位于哪一层

14. TCP和UDP的区别

15. Spring Bean的生命周期

16. Spring中Bean创建中可能出现的冲突问题Spring是如何解决的

17. 使用过什么数据库(mysql),什么版本(5.7),这个版本有什么新特性(这个没回答上来,只知道5.5开始底层引擎使用innodb作为默认的了)

18. 详述一下你知道的几个数据库引擎,比较一下他们的差别

19. 介绍一下最近学习的大数据方面知识(之前自我介绍有说在学大数据,就扯了一些Hadoop和Spark的知识)

20. 简述一下MapReduce的工作流程,如何和HDFS一同工作等

21. 说一下一致性哈希算法

22. 说一下Redis的分布式锁,使用过哪些方式上锁

23. 还用过其他分布式缓存吗(答MemCache,让我比较两者的区别)

24. 介绍一下你了解的机器学习算法(线性,SVM、决策树等等列举了一下,平时用过sklearn、TensorFlow算法这块没做什么准备,不敢多说)

25. 简单说一下CNN

26. 说一件你认为曾经最困难的事情,是如何克服下来的

27. 讲述一下你的优点和缺点

28. 反问,问了一下自己的技术栈有没有什么问题和需要补充的,大佬介绍了很多学习的方式,也希望我能够继续去深入研究数据和算法这块,告诉我这肯定是未来一段时间很重要的一块

三面面试官是P9,部门大Boss,面试过程中明显感觉到压力,试图深挖一些东西和我的一些思考。


四面(交叉17m)

1. 自我介绍一下

2. 随便聊了一会,学过哪些课程,什么学的比较好?(说基础课程中操作系统和网络比较熟悉,其实是其他的有点久了)

3. 操作系统的内核态和用户态说一下区别

4. 进程和线程的通信有什么区别

5. 听说过协程吗?

6. 使用过Flink嘛?它和Spark的区别是什么(没有,只用过Spark)

7. 为啥选择学Spark呢?(当时学Hadoop后面推荐流处理用spark,就继续往下学习了)

8. 看到你项目用过Redis,讲一下穿透,击穿雪崩这些和解决方法

9. 习惯用什么语言?(Java)讲一下volatile关键字吧,在什么地方用到过,能举个例子嘛

10. 有什么想问我的吗?

四面面试官应该超级忙,语气中带着一丝焦急,是蚂蚁金服的P9,果然大佬部门好忙的


Hr面(20m)

1. 是哪里人?(杭州)具体在哪个地方?读的什么高中?高中成绩怎么样?

2. 简单说一下你大学本科四年的经历?没有想过出杭州去读书吗?

3. 本科和研究生你感觉有什么不一样

4. 本科就是做这块的,没有直接来工作吗?后来为什么打算考研了

5. 考研有没有什么困难的经历?

6. 大学期间最大的遗憾

hr下午打电话过来,刚好在上网课,就约了晚上,后来9点样子来的电话,觉得hr问的很常规,就是聊聊天,没有传言的那么可怕,人也超级好的。


#阿里巴巴21届实习招聘内推##面经##阿里巴巴##Java工程师##校招#
全部评论
同许愿
点赞 回复 分享
发布于 2020-04-16 08:17
求一面过
点赞 回复 分享
发布于 2020-04-16 10:39
请问拿到offer 了吗?
点赞 回复 分享
发布于 2020-05-01 23:40

相关推荐

11-07 13:31
怀化学院 Java
勇敢牛牛不怕难:又疯一个
点赞 评论 收藏
分享
牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
7 45 评论
分享
牛客网
牛客企业服务