摘取了部分分布式相关的面试题,简单列了一下,不全,有空再补。
我司面试宗旨:结合项目聊实际场景,不玩概念,不玩虚的。
一般回答问题之后都会根据你的答案进行追问,所以面试问题仅供参考。
这是一面的面试题,一面重视技术广度,所以问题都不难。
1. 分布式理论
简述下CAP理论
描述下你项目中用到的技术按CAP理论来分,分别是什么模型?
简述下BASE理论,并说明下你们项目中那些地方涉及到该理论?
2. Redis
单机Redis的qps大概是多少?
项目中用到了哪些Redis的数据类型?为什么这么用?
Redis的key到了过期时间就被删除了吗?简述下Redis的过期策略?
Redis有哪几种内存淘汰策略?(这里可以联系到linkedhashmap的排序方式)
Redis为什么那么快?能不能谈谈Redis的线程模型?
Redis集群方案应该怎么做?都有哪些方案?
你的项目生产环境中用的哪种Redis集群?线上是怎么部署的?
你们项目中是怎么做Redis持久化的?
描述下Redis雪崩和穿透,以及你们项目中是怎么避免的?
你们项目有使用Redis做分布式锁吗?Redis做分布式锁和zk有什么区别?
怎么保证缓存和数据库双写时的一致性?(这个问题可以聊很深,一般的初级解决方案,高并发下的解