在大概三个月前,我在我网站就整理了 Redis 的面试题了,不过那时候才整理了 13 道核心的,大概过了两个月,我花了大半天去找 Redis 的面试题,因为 13 道肯定不够,于是我整理到了 33 道。

33 道加上答案一万多字了,不过最近我不是在整理各个公司的面经嘛?发现 33 道还是漏掉了不少,于是这周就又把自己整理面经看到的 Redis 面试题又补上了,一共 60 多道,从基础的 Redis 到最后分布式锁都有。

只要把这些面试题拿下,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

作者简洁

作者:大家好,我是帅地,从大学、自学一路走来,深知算法计算机基础知识的重要性,目前正在维护自己的 个人网站 , 专注于写校招,面试,入门等教程转载说明:未获得授权,禁止转载

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐