1. 介绍一下spring的两大核心思想
2. 介绍一下java的代理,以及动态代理和静态代理的区别
3. spring动态代理是如何生成的,jdk动态代理和cglib的区别
4. 介绍一下synchronized关键字、以及synchronized锁和lock的区别
5. 讲一下java中synchronized的锁升级
6. 介绍一下hashMap,如何处理冲突,设计一个哈希函数需要考虑到的要素。
7. 哈希冲突怎么解决,有几种解决方案
8. 介绍一下redis缓存穿刺以及缓存穿透,并说明项目中是如何解决这个问题的
9. 介绍一下布隆过滤器,项目是用布隆过滤器做了什么
10. 操作系统的内核态、用户态分别说一下
11. 进程间的通信方式
12. 进程通信的时候信号量是如何实现的
13. 手撕:添加最少的字符形成回文字串 (abc--> cbabc)
14. 手撕:合并区间
八股文的不多也没有为难,但是第一道手撕hard我是真不行,面试官看我做不出来换成合并区间了,权当增加面试经验了
作者:香菜美食科学家