快手java后端一面凉经
问项目花了二十分钟左右
- token存了哪些信息 为什么用JWT的token而不用redis的token
- 如何用redis存储时序数据
- redis和mysql数据是否会不一致,如何解决
- 为什么用NEO4J=》面试官告诉我其实200w数据量的情况下往往mysql效率更高,NEO4J会遇到瓶颈
八股也是二十分钟,没问很多问题
- java的两种锁 底层实现是什么,reentrantlock公平锁如何实现
- spring容器有哪些特点,如何管理bean的各个生命周期,底层怎么实现的(我只知道大概是反射)
- 垃圾回收的时候CMS有哪些阶段
- mysql为什么用B+索引
- mysql如何解决幻读
- redis集群会有什么问题(例如脑裂,数据不一致),如何解决
- clustern架构下 如果单结点数据量过多怎么办=》用redis3解决了大部分问题
算法是做后序遍历,先写了递归,后来又用栈实现了一版
反问环节,回顾了一下前面没解决的问题:
1.如何弄懂AOP相关东西=》先看概念,然后看源码,最好自己debug一下,弄懂SPRING容器如何管理BEAN的生命周期
2.如何处理REDIS一致性=》如果只用事务的话 粒度太粗了,可以用REDIS分布式锁或者JDK来实现,要保证每个操作都能回退。一个简单的实现是给REDIS加标记。
#快手求职进展汇总##面经##java#