快手一面
自我介绍
问项目来源,自己独自做的还是团队合作,自己负责什么职责
面试官说,他不太喜欢问八股,互联网企业,主要是想考查项目业务了解程度,以及什么场景用什么方法解决的能力
针对简历上写的项目做了什么,深入拷问(不是很了解的千万别写上去)
1、简历写了Redis实现分布式Session,解决集群间登录态同步问题,问项目在哪部署(其实根本没部署,而且是个单体项目,也就没必要解决这个集群问题)
2、简历上为什么说,使用Hash代替String来存储用户信息,节约了内存,怎么节约的,
3、把高频访问数据缓存在redis,是怎么保证较高的缓存命中率的(因为我写了提高百分之多少的性能,结果又没答上来)
4、推拉模式的具体实现,即什么时候推拉,怎么推拉,推拉的时机(这个答得不好,没理解面试官意思,主要是对这方面代码忘了)
5、秒杀功能,怎么异步处理订单,问完后又说了秒杀功能其实是很复杂的,不是我想象的这么简单的
6、拦截器的原理懂吗(不懂)
八股:
1、接口和抽象类,异同点,深入讲具体使用场景和区别(他说很重视这个问题的回答,希望答得深入点)
2、object类常用的方法
3、为什么重写hashcode,主要在什么数据结构中用(map,不用的话会产生覆盖问题)
4、fullgc
5、详细说一下MySQL的锁,表级锁,表级锁什么时候会使用,行级锁,每种行级锁的作用
6、数据库主从同步可能会出现什么问题,主从怎么保持一致
7、SQL优化的方法
8、索引失效的场景
手撕题:compare(String A, String num1, String B, String num2),如果num1大,就输出对应的A,num2大就输出对应的B,num1,num2的值以小数点隔开,从左到右比较(1.1.1.1,1.1.2,1.1.2.1,等等)
#我的失利项目复盘#