上来做个自我介绍然后开始问项目;
雪花算法实现:https://blog.csdn.net/ln82799/article/details/117457393
雪花算法缺点:
上来说每台机器时钟值不一样可能导致id冲突,这个说错了,时钟值一样但是机器码不一样,不会导致冲突。但是单机保证单调递增,全局不一定保证单调递增。
如果机器时钟值回拨,会导致id冲突。问解决方案:缓存每个毫秒值的序列号,回拨后从序列号+1开始产生id,
继续问:我的机器没那么多内存,你能缓存几秒的数据,我:阿巴啊巴,,,
然后继续问有没有其他的解决方案:(这个不会,刚刚搜索了一下可以用梨花算法,这样一秒只用缓存一个int值 )
之后问雪花算法只是一个理论你怎么定制你的雪花算法:我说机器没有那么多,可能不需要占用10位,能空几位给时间戳或者序列码
那数据库集群扩容了你咋办, 我:阿巴阿巴
讲讲你项目的单点登录:
了解TLS/SSL么,说一说tls握手过程,混合加密过程
详细说一说三次握手四次挥手和服务器中间状态
说一下concurrenthashmap底层实现原理,怎么保证同时读和写(JUC好久没看到这已经崩溃了)
说一下AQS吧,
讲讲类加载的过程吧,然后问三个类加载器负责加载什么api,然后问tomcat咋打破双亲委派机制
java怎么实现多态
讲一下反射机制
说说动态代理
写一个单例模式,(饿汉式懒汉式内部类枚举类,想多写几个的结果写完一个面试官就让做算法题了)
链表删除倒数第n个节点(讲了一下用栈的思路空间复杂度O(n),然后用双指针写的)
我太菜了,好好背八股去了