一面:
1.有一串递增的数据[1,2,3,4,5....N],从中抽取一个数为X,将抽出X的数组即[1,2,3,4,5..... N-1]这个的数组重新打乱找出被抽取的数。
例:从数组[1,2,3,4,5]抽出3,将数组打乱成[5,1,4,2]找出其中被抽取的数是3。
2.问了一些Java的基础知识,这里记得不太清楚就不诺列了。
二面:
找出最优解法:
2.violatile和synchronized的区别
3.为啥要用redis分布式锁,分布式锁的实现原理
4.synchronized和lock的区别,什么是死锁有什么解决方法
5.对某个项目流程的整体解析
6.悲观锁,乐观锁,可重入锁,死锁说下
7.说下mysql的复合索引和使用,联合索引的使用
8.hashmap的底层实现。
9.jdk1.8在jdk1.7中hashmap做了什么改动,为什么这么改动的?
10.红黑树的和链表的时间复杂度是多少
11.set底层是怎么实现的,一般都用在什么地方
12.hashtable和CurrentHashMap的区别
13.redis的常用命令,setnx的理解,redis可以同时读写吗为什么?
14.项目登录中如果不同手机号批量请求数据库怎么防止数组库的压力.
15.项目中有啥亮点?为什么这么做?有其他的方法实现吗?能有更好的方法实现吗?
16.GC算法的了解。
有问题,欢迎加微信:LYJsix888 交流学习
关注 公众号:技术从心 欢迎交流