帆软一面 2022.09.14
全程 65min
问了五六十个问题,还有些记不清了,涉及方面有Java基础,集合,JVM,JUC,Spring,Redis,数据结构与算法
遇到的最难的面试...........我太菜了...................
先是自我介绍,然后按照简历一条一条往下问,简历问完之后狂问八股
- 如何解决Token时效性问题
- ThreadLocal内存泄漏的解决方法
- Redis和MySQL一致性策略
- 一致性策略的先更新缓存,再更新数据库;先更新数据库,再更新缓存;先删除缓存,再更新数据库;先更新数据库,再删除缓存,这四种情况的区别【记不清了】
- 介绍一下volatile
- Redis的过期策略
- Redis为什么效率高
- Redis的数据结构有哪些
- zset底层数据结构有了解吗
- 跳表如何建立上层索引【不太清楚】
- 除了volatile还可以线程之间还能用哪种方式通信【wait和notify】
- 他说还可以用原子类,我说奥对对对
- CAS了解吗,底层如何实现的
- CAS存在的问题有哪些【只说了自旋锁会占用CPU的问题】,还有什么其他问题吗?
- ConcurrentHashMap可以放Long值吗【不太清楚】
- ConcurrentHashMap的扩容有了解吗【不太清楚】
- 那我们来聊聊HashMap,为什么要重写equals和hashcode
- hashmap的并发问题有了解吗
- hashmap底层为什么使用红黑树
- 为什么不用AVL树
- hashmap底层为什么要 & 31,我感觉问的是hashmap底层数组长度为什么是2的n次幂问题
- 聊聊数据结构,说一下普利姆算法【看过忘记了】
- 说一下迪杰斯特拉算法【不太了解】
- 说一下时间复杂度是nlogn的排序算法
- 为什么排序算法的时间复杂度最低是nlogn【.....不清楚】
- 讲讲dfs和bfs
- dfs和bfs的区别,优缺点
- 那我们来聊聊java基础吧,介绍下泛型
- 泛型擦除有了解吗
- 多态和泛型擦除的冲突问题【第一次听说...】
- 说一下八种数据结构和它们的长度
- java拷贝一个对象的方式有哪些,【他说还可以用序列化的方式....】
- 深拷贝和浅拷贝的区别
- 介绍一下类加载器
- 介绍一下双亲委派模型
- 如果想破坏双亲委派模型怎么做【没答出来,只说了个重写loadclass方法】
- 遇到过破坏双亲委派模型的情况吗【没有】,他说tomcat里面就破坏了这个模型
- 从GC的角度讲一下JVM的内存结构
- java怎么划分堆,没太理解它的意思,说的永久代,字符串常量池这块内容
- 他说他的意思是新生代老年代如何划分,答新生代eden from to 默认 8:1:1
- 垃圾回收算法有哪些
- GC Root的对象
- 介绍一下Spring IOC和AOP
- AOP底层如何实现的
- cglib和jdk的区别
- cglib如果抛异常了会抛哪种异常
- 父子线程之间的ThreadLocal问题【不清楚】
- 介绍一下Redis缓存穿透,缓存击穿和缓存雪崩
- 详细讲一下布隆过滤器
- 时间不够了我们做几道题吧,二分查找比如[1,2,3,3,3,5,10]找到target的左边界,比如3
- 无限长度的栈,随意存取1~n,有多少种情况
- 第三个问题描述了好几遍没懂什么意思,只听懂了几个关键词,一个序列,不知道长度,从里面随机获取一个值怎么做,后面又说怎么判断这个值,1%,2%的,没听明白。最后草草结束了
- 还有什么想问我的吗? 我说被问晕了,不知道该问什么了.....【心里想着,凉了凉了这还能问啥啊...】