-
第一轮电话(简单大概15分钟)
1.基础:ArrayList和linkedList的区别?
2.基础:Java中锁有了解吗?跟我讲讲乐观锁和悲观锁以及他们的实现原理?
3.mysql是锁行还是锁表,SQL优化方案,MySQL索引的数据结构,了解过回表,聚集索引,索引下推?
4.对象什么时候进入老年代?OOM遇到过吗?怎么排查? -
第二轮现场(约一个小时)
1.跟我讲讲运行时内存结构(JMM组成),OOM一般发生在那一块?给我模拟一个OOM场景,majorgc和fullgc的区别,1.8默认的垃圾回收器是什么,CMS和G1回收器各自的特点以及异同点(用的什么算法?),为什么要分E区 S0 S1区?
2.lru算法了解吗?我说不了解…
3.给定一个无序数组.int [] arr = {1,55,66,24,23,25},用三种排序方式实现,先说思路,冒泡排序,快速排序,(想不来第三个排序),最后写了快排,并说出他们的时间复杂度.
4.给定两个数组,int [] arr = {1,55,66,24,23,25},int [] arr1 = {1,2}.打印arr1在arr中相同的元素在数组中第一次出现的索引位置,.
5.随便挑一个框架,他来问,结果我挑了dubbo…入坑了 T^T,dubbo的ReferenceBean,父类的factoryBean和beanFactory有什么区别,dubbo动态代理有了解过吗?为什么要用动态代理,dubbo的动态代理是用什么方式实现的?现在想想都考的是dubbo的源码 -
第三轮(约一个小时)
1.手写一个单例模式,饿汉式,懒汉式,线程安全的应该怎么写
2.给定两个有序递增数组,int [] arr = {1,2,3,4,5},int [] arr1 = {2,3,7,9}.判断arr1的元素是否在arr中全部存在,感觉题目好像是这样,记不清了…双重for循环被喷了…
3.redis 5000的QPS ,做限流,每次只接受500个请求,用什么数据结构做,怎么做?
4.设计一个贪吃蛇程序,在64*64的格子上,蛇要用怎么样的数据结构,蛇没吃到的时候怎么表示,吃到了怎么表示?移动的时候如何设计?
5.开始问个人兴趣爱好,自我评价… -
第四轮 (约半个小时)
1.项目中遇到的技术难点,以及怎么解决的
2.给定两个数组char[] char1 = {‘a’,‘b’,‘c’,‘d’},char[] char2 = {‘a’,‘b’,‘c’} 判断char2是否在char1中连续,连续的话返回1 否则返回-1,例{‘a’,‘b’,‘c’} 和 {‘a’,‘b’,‘c’,‘d’}返回1,{‘b’,‘c’,‘d’}和 {‘a’,‘b’,‘c’,‘d’}返回1,{‘a’,’‘b’,x’,‘c’}返回-1(挂在这了)
转载:https://blog.csdn.net/weixin_42831810/article/details/115538908