1.手撕两个有序数组合并为一个(不能用额外数组):思路移动长的数组,双指针比较,后来发现其实可以比较大的数放尾部
2.讲了一下二叉树翻转的思路:递归(其他思路?栈模拟递归(具体实现不太清楚,只记得有这个方法))
java线程池
HashMap底层 引申到->
红黑树,AVL树
ConcurrentHashMap->引申到CAS
CAS(答的有点不清楚,主要回答了比较交换(没有问ABA原子引用,(类似版本链)))
线程池核心参数(答了具体的线程等待过程,以及抛弃策略)
Redis (问的不多,就问了清除缓存的策略,以及为什么使用Redis)(没有问Redis底层结构)
垃圾回收(串行,并行,CMS(具体过程:初始标记stw(GCRoot)、全标记、补充标记stw,标记清除))没有继续问G1(类似CMS的过程,但是使用了标记整理,且没有内存碎片(由于分成了多块,没有了分代的概念))
分布式锁(答到Reids使用Setnx可以模拟分布式锁,还有RedLock的一个包?记不清了)
没有答出来的:
Redis一致性解决?(只记得一个什么保证可靠的消息?就回答记不清了)
SpringMVC的Request请求到Controller的过程?(只记得请求转换来转换去最后返回了一个ModelAndView?,回答不太了解)
RPC框架?(就说了项目中用到了HttpClient,其他不了解)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。