1. 实习经历用OAuth2采用什么模式,为什么,有什么好处,反馈了什么?
2. Aop的原理(代理模式)?使用注解用了什么框架?java中的注解是怎么设计?为什么这么设计?如果你来设计你会怎么设计?除了代理模式还有其他方法进行AOP?类加载阶段进行织入,代码增强的手段?代理模式的缺点?
3. GC是什么?垃圾回收的原理及算法?哪些节点可以作为根节点?介绍CMS收集器,适用于那些场景,为了达到最小回收停顿时间是如何设计的?在整个过程中哪个阶段会影响吞吐量?
4. Hashmap底层的数据结构?为什么用红黑树?数组查找为什么是O(1)?为什么在hashmap不用b+树,AVL树?之前说到了AVL树和红黑树的旋转量级,然后就问为什么红黑树旋转量级是O(1) ,左旋和右旋的具体过程是怎么样的?
)5. 线程和进程的区别?进程间的通信,哪一种最快?阻塞状态和就绪状态的区别?进程消耗什么资源?如何在两线程间共享数据?
6. 进程运行是在虚拟内存还是物理内存?虚拟内存的空间和操作系统什么参数有关?
7. 网络分层。TCP与UDP区别?TCP四次挥手?TCP为什么可靠,保证可靠传输的方法?为什么四次挥手有time_wait与close_wait?MSL这个单位的含义?HTTPS的加密方式,秘钥?
8. 你是怎么根据业务需要设计线程池的核心线程数,问了一些池化技术
9. Api设计怎么保证幂等性?除了唯一ID还有其他方式吗?
10. 手写双重判空的单例模式。两次判空的原因?为什么用volitile,影响了哪一次判空?如果把syncronize加在第一次判空前是否可行?父类为单例,子类多例模式可以吗?final类型是否线程安全,为什么?
11. 一致性哈希算法,缓存过期淘汰策略,LRU,LFU。
12. 判断链表是否有环
13. 蛇形打印二叉树
14. 将有序数组转换为范围表示
15. a-z分别对应数字1-26, 给你一串数字(不能改变顺序), 方法得出:一串数字解码成对应的英文字母, 有几种可能性?
全部评论
(10) 回帖