Redis 面试题汇总

  • Redis 为什么这么快?延伸问题:Redis 是单线程的吗?
  1. Redis 本身是基于内存操作的,不需要进行磁盘的IO 读取
  2. Reids 是单线程对外提供服务的,有效的避免了线程上下文的切换带来的资源消耗。
    基于以上两点说明Redis的速度是比较快的。
    在Redis 4.0 之前的版本,Redis 对外提供的worker 线程是单线程的,内部的一些rdb aof 其实会fork 一些子线程来进行操作,所以Redis 并不是严格意义上的单线程。
    另外在Redis 4.0 之后探索用一些多线程进行服务。
  • Redis 数据类型,及底层数据结构与使用场景
  1. Redis 主从复制原理、集群、哨兵模式,优缺点
  2. Redis 缓存失效淘汰机制、缓存雪崩、缓存穿透
  3. Redis 底层 Selector 如何实现?
  4. BIO/NIO/AIO,selector、epollo
    5.Redis 底层的selector 模型怎么实现的 ?
    6.CPU怎么调度线程的?中断机制是啥 ?--这个问了我
    7.Redis 集群的类型有哪些 ?各有什么优缺点?
    8.微博大V 发布文章(一亿的粉丝),粉丝的文章列表怎么设计 ?
  1. HashMap 数据结构,并发场景下有什么问题?

  2. HashMap JDK8 有什么优化?

  3. 线程有哪几种状态

  4. 多线程下如何保证线程安全(CAS、AQS、轻量锁、重量锁)

  5. 为什么需要 MQ?(流量削峰、服务解耦、异步通知等)

  6. MQ 消息丢失、重复消费、定时消息、顺序消费、消息堆积淘汰策略

  7. RabbitMQ 消息转发策略,其它MQ

  8. Spring 用了哪些设计模式

  9. Spring 如何处理循环依赖的?为什么要三级缓存?二级为什么不行?

  10. Spring mvc 调用流程 or Springboot 启动流程 or Springboot 如何做到自动化配置

  11. Spring aop 底层怎么实现的?哪些情况用动态代理哪些情况用 CgLib?为什么?

  12. 分布式锁

  13. 分布式事务,二阶段事务、三阶段事务是怎么实现的?

  14. 分布式算法(比如分库分表:一致性Hash)

  15. 为什么需要 Dubbo(为什么需要分布式微服务&服务管理,即服务演变过程)

  16. 简画 Dubbo 服务注册与发现流程图

  17. Dubbo 架构设计了解过吗

  18. Dubbo 协议、序列化方式有哪几种,分别适用于什么场景

  19. 简述 Dubbo 集群容错方案与负载均衡策略

  20. Dubbo 异常处理机制

  21. Dubbo 与 SpringCloud 区别

  22. zk 节点(相关问题:dubbo 服务者失效剔除是什么原理)

  23. zk 如何保证分布式一致性

  24. SpringCloud Alibaba 有哪些更新和替换

  25. eureka、zk、nacos 三者都可以作为服务注册中心,有什么区别

  26. Netty 了解多少

  27. 单例模式写法有几种(为什么枚举可以是单例的)、说一说其它几种设计模式

  28. 三次握手、四次挥手

  29. 算法:十大排序、布隆过滤器、红黑树、令牌桶、雪花算法

  30. CPU 是怎么调度的,中断机制是什么

9.锁升级过程 ?
10.spring-aop 底层怎么实现的?哪些情况用动态代理哪些情况用CgLib ?为什么 ?
11.二阶段事务 三阶段事务怎么实现的?
12.spring 如何处理循环依赖的?为什么要三级缓存 ?二级为什么不行

你可能感兴趣的:(Redis 面试题汇总)