阿里Java实习一面面经

1、mysql数据库索引的结构

2、InnerDB行级锁是基于什么样的机制实现的,具体加的什么锁,会不会产生死锁,什么样的场景会发生死锁

3、InnerDB在什么情况下启动这个行级锁,通过索引,还是不通过索引

4、间隙锁、范围锁

5、Mysql的默认隔离级别,解释一下

6、解释下幻读,可重复读会产生幻读吗

7、怎么去避免幻读现象?(间隙锁)

8、怎么去实现可重复读?

9、哪些算法平时涉猎比较多(排序)

10、快排是否是稳定的算法?为什么?是因为相同的数字导致的不稳定吗?

11、快排最坏的时间复杂度?什么情况下是最坏的?

12、归并排序最坏的时间复杂度?

13、这么多排序算法,空间复杂度最坏的是哪一个?为什么?

14、冒泡排序最好情况?最坏的情况?分别在什么情况下

15、HashMap底层的数据结构是怎么样的?

16、如果向HashMap放一些数字,哪些是存在链表里面的,哪些是存在红黑树里面的?

(面视官解答:先有个数组,然后通过hash向数组里面放元素,如果hash值冲突了,就可能产生冲突,在这个时候用的红黑树,在8之前是单链表,8之后是红黑树,红黑树主要是解决冲突的问题),解释完然后问 怎么去设计这个数组的大小?回答2的幂,为什么要设计成2的幂次方?数组不够用应该怎么去扩容,底层是自动扩容,应该怎么去保证这个扩容?

17、Jvm的垃圾回收机制  gc的算法

18、Jvm的内存的分布

19、平时用到了什么设计模式吗

20、像mybaties、spring等框架底层用的什么样的设计模式

21、多线程平时有用到吗?实现方法?

22、线程池有哪些常用线程池?有什么区别?在什么场景下进行使用

23、设计一个线程池需要哪些数据结构?需要哪些元素定义?

我回答了set,然后接着问set去取的话,是单线程还是并发的去取?

24、Cache线程池是否一个单独的线程去分配这些工作,需不需要什么这个角色

25、如果让你设计这个线程池,怎么优雅的去shutdown、wait、notify、notifyAll等运行?怎么去处理一个任务队列?并发线程的主次?怎么样去协作的

26、介绍一下Java的反射机制

27、在使用反射中,private方法可以被执行吗

28、反射在项目中有用过吗?

29、Java先编译成class文件再运行,反射是通过动态加载某些类,这些类之前并没有在jvm中,反射可以动态加载这些类,反射调用其属性方法。正常的类加载的过程了解吗?什么样的类用什么样的类加载吗还是一个统一的类加载器?

30、统计字符串的一个连续不重复的最长子串

31、给你10w个单词,怎么找出重复次数最多的十个

32、框架的底层有理解吗

33、缓存有用过吗

#阿里巴巴##实习##Java工程师##面经#
全部评论
楼主,对项目问的多少啊
1
送花
回复 分享
发布于 2021-03-11 16:17
阿里确实还是难呀😂
1
送花
回复 分享
发布于 2021-03-11 18:18
秋招专场
校招火热招聘中
官网直投
楼主你好,请问你是实习、校招还是社招?
点赞
送花
回复 分享
发布于 2021-03-11 15:50
楼主你好,请问你是实习、校招还是社招?
点赞
送花
回复 分享
发布于 2021-03-11 15:51
楼主投的是什么部门呀
点赞
送花
回复 分享
发布于 2021-03-12 00:30
想问一下楼主,快排为什么不稳定?
点赞
送花
回复 分享
发布于 2021-03-12 08:11
是我不配了
点赞
送花
回复 分享
发布于 2021-03-12 12:04
一个实习都这么难😥
点赞
送花
回复 分享
发布于 2021-03-12 15:27

相关推荐

流岚噗噗:肯定直接说第一啊,网上的身份都是自己给的好吧
点赞 评论 收藏
分享
15 103 评论
分享
牛客网
牛客企业服务