快手日常一面

1、介绍一下项目的架构,各个模块之间是怎么穿起来的?比如说让你做一个点评项目,你要怎么设计,要采用哪些中间件,

2、你这里用了redis作缓存,为什么要引入redis呢,直接用数据库不行吗?redis相比于直接操作数据库有哪些好处?为什么本项目用redis做缓存?还有其他的缓存吗?为什么不用其他的缓存?

3.Redis有哪些数据丢失问题呢,什么情况下会丢失数据,怎么处理?

回答时提到了集群脑裂问题,那么请详细解释一下为什么发生集群 脑裂问题,应该怎么解决这个问题?

4.我看你使用的是redis分布式锁,为什么要引入分布式锁呢,分布式锁有什么问题呢?比如目前你拿到了个锁,但是redis服务宕机了,该怎么办(可以设置超时释放,那超时释放又有什么问题,怎么解决)

5.为什么用redis分布式锁呢?其他分布式锁不可以吗

6.数据库和缓存怎么保持一致性,说了很多,面试官说其实大多数情况下先更新数据库,再操作缓存就能解决问题,那如果要求强一致性,那就不能用redis吧,要不然这编码太麻烦了,那该怎么办呢?

7、算法题是最长递增子序列

全部评论
有后续吗?
点赞 回复 分享
发布于 09-30 14:18 北京

相关推荐

5 18 评论
分享
牛客网
牛客企业服务