Redis面试题肝完了(全)
在大概三个月前,我在我网站就整理了 Redis 的面试题了,不过那时候才整理了 13 道核心的,大概过了两个月,我花了大半天去找 Redis 的面试题,因为 13 道肯定不够,于是我整理到了 33 道,详细可以看这里:Redis面试题整理好了
33 道一万多字了,不过最近我不是在整理各个公司的面经嘛?发现 33 道还是漏掉了不少,于是这周就又把自己整理面经看到的 Redis 面试题又补上了,一共 60 多道,从基础的 Redis 到最后分布式锁都有。
面试题如下(答案看文末,因为好几万字,不方便贴)
1. 谈下你对 Redis 的了解?
2. Redis 一般都有哪些使用场景?
3. Redis 有哪些常见的功能?
4. Redis 支持的数据类型有哪些?
5. Redis 为什么这么快?
6. 什么是缓存穿透?怎么解决?
7. 什么是缓存雪崩?该如何解决?
8. 怎么保证缓存和数据库数据的一致性?
9. Redis 持久化有几种方式?
10. Redis 内存淘汰策略有哪些?
11. Redis 常见性能问题和解决方案?
12. Redis的过期键的删除策略
13. 我们知道通过expire来设置key 的过期时间,那么对过期的数据怎么处理呢?
14. Hash 冲突怎么办?
15. 什么是 RDB 内存快照?
16. 在生成 RDB 期间,Redis 可以同时处理写请求么?
17. 如何实现数据尽可能少丢失又能兼顾性能呢?
18. 哈希槽又是如何映射到 Redis 实例上呢?
19. Redis如何做内存优化?
20. Redis线程模型
21. Redis事务及其相关面试题
22. Redis是单线程的,如何提高多核CPU的利用率?
23. 为什么要做Redis分区?
24. 你知道有哪些Redis分区实现方案?
25. Redis分区有什么缺点?
26. 如何解决 Redis 的并发竞争 Key 问题
27. 分布式Redis是前期做还是后期规模上来了再做好?为什么?
28. Redis相比Memcached有哪些优势?
29. 为什么要用 Redis 而不用 map/guava 做缓存?
30. 如何选择合适的持久化方式
31. Redis key的过期时间和永久有效分别怎么设置?
32. 双写一致性方案一:先删除缓存,后更新数据库
33. 双写一致性方案二:先更新数据库,后删除缓存
34. 什么是缓存预热?
35. 什么是缓存降级?
36. Redis真的是单线程?
37. Redis 6.0为何引入多线程?
38. Redis 6.0 多线程的实现机制?
39. Redis 6.0 采用多线程后,性能的提升效果如何?
40. Redis 6.0开启多线程后,是否会存在线程并发安全问题?
41. Redis 6.0 与 Memcached 多线程模型的对比
42. 介绍下Redis单副本
43. 介绍下Redis多副本(主从)
44. 介绍下Redis Sentinel(哨兵)
45. 介绍下Redis Cluster
46. 介绍下Redis自研
47. Redis高可用方案具体怎么实施?
48. 了解主从复制的原理吗?
49. 由于主从延迟导致读取到过期数据怎么处理?
50. 主从复制的过程中如果因为网络原因停止复制了会怎么样?
51. Redis主从架构数据会丢失吗,为什么?
52. 如何解决主从架构数据丢失的问题?
53. Redis哨兵是怎么工作的?
54. 故障转移时会从剩下的slave选举一个新的master,被选举为master的标准是什么?
55. 同步配置的时候其他哨兵根据什么更新自己的配置呢?
56. 为什么Redis哨兵集群只有2个节点无法正常工作?
57. Redis cluster中是如何实现数据分布的?这种方式有什么优点?
58. Redis cluster节点间通信是什么机制?
59. 什么是分布式锁?为什么用分布式锁?
60. 常见的分布式锁有哪些解决方案?
61. Redis实现分布式锁
62. RedLock的原理
答案两万多字,太长了,在公众号不方便阅读,大家可以到我的网站来阅读,阅读体验好很多,左边是答案,右边是目录的形式方便大家按需阅读。
网站链接:https://www.iamshuaidi.com
打开后在 Redis 那里
也可以点击文末左下角的阅读原文直达,不过建议PC端打开,PC端阅读体验好一些。