【本菜鸡的春招实习之旅4】阿里巴巴Java后端面经(2022届春季实习生)

阿里

3.11

一面:

1.聊了一下项目

2.说说你了解的线性数据结构?线性结构的特点?

3.说一下深度优先遍历和广度优先遍历?给你个二叉树你模拟一下吧?(深度不小心嘴说岔了)

4.如果不用递归深度优先遍历,你可以用什么数据结构实现二叉树遍历

5.hash结构你了解吧?现在我叫你实现一个hash结构你怎么实现?(我说的数组+索引)

6.如何解决hash碰撞?不用hashmap他写的方法你能解决吗?

7.你说你直接用集合存,那假如很不幸,很多结点都发生指针碰撞,全部退化到你的list里面,那么这个不就退化成一个List的查询了吗?你有什么解决办法吗?

8.你想要改hash函数,当然是一种办法,那假如我不让你改hash函数呢?(我说用list排序之后用二分查找)

9.最后还是觉得红黑树好吧,那问问你红黑树的原理吧?

10.java基于什么协议传输http请求?

11.你说一下TCP/IP四层协议吧

12.说一下TCP和UDP的区别吧

13.UDP协议如何保证传输数据的顺序性?

14.请你谈一谈spring 的容器吧?

15.beanfactory和factorybean?

16.项目中高并发场景下如何解决redis和数据库双写一致性的问题?

17.谈谈你的职业规划吧?

18.还投递了别的部门吗?有没有兴趣来我们这边?

面试体验非常良好,面试官一直在引导回答,问的也不是很难,给了一些建议

3.17

二面:

1.ArrayList是线程安全的吗?GUC里面他的线程安全的类有哪个?

2.那你说一下copyonwritearraylist的原理和方法吧,你平时怎么用的?

3.你平时用线程怎么用的?

4.线程池你怎么用的?

5.说一下线程如何执行任务的吧?

6.固定线程数量的线程池用的是哪个阻塞队列?

7.singleton线程池和固定线程数量的线程池有区别吗?

8.如果我现在给他设置为一个核心数,最大核心数为1,那他不就是singleton?

9.你用过synchronized和volatile吗?你是怎么用的啊?

10.我用this和类.class有什么区别吗?

11.JVM了解吗?说一下JVM里面的垃圾回收算法吧?

12.为什么要进行分区?

13.说一下mysql索引的底层原理和底层数据结构吧?

14.说一下索引创建的原则和不能创建索引的原则?

15.聊项目,RPG的调用方式,MQ?

16.用过dubbo吗?(没有)

17.用redis来干嘛的?

18.你更新完数据库以后,但是redis挂了,你遇到过吗?(没有)

19.我假设有这样一个挂掉的场景你怎么处理?(回答恢复持久性,做集群,但并不满意)

20.你想要redis做ACK机制,这种想法可以,但是必然会增加系统的复杂度,你有什么别的办法吗?

21.你没有考虑从数据库层面来解决这个问题吗?

22.数据库有没有什么补偿机制?能不让回滚全部?(回答那几种日志,但是好像不太对)

23.计算一个数开根号后的整数部分,要求时间logn

这次面的体验也非常不错,和面试官还聊了很久的技术问题,感觉还行

个人测评挂了,乱写的分数没达标,直接挂了,惨兮兮。阿里梦碎

你可能感兴趣的:(面经,大厂面试题,java,面经,阿里巴巴,实习,后端)