首页 > 阿里Java实习一面面经
头像
ZDragonX
编辑于 2021-03-11 16:14
+ 关注

阿里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、缓存有用过吗

更多模拟面试

全部评论

(8) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐