一面顺丰因Redis惨败,靠着清华大佬的规划指引,再战终成功 写在前面 Redis简介 Redis学习路线 Redis面试真题 概述 Redis精品复习文档 写在后面

写在前面

今年注定是不平凡的一年。年初突如其来的疫情,使无数人居家隔离,小编也是一样,直到3月底4月初,才开始投递简历,准备面试。却不曾想,顺丰一面,面对面试官针对Redis的疯狂轰炸,瞬间浇透了我顺利入职的想法...

没办法,百万大军过独木桥,自己技不如人,谁也赖不着。平复好心情后,自己也开始了魔鬼特训。3个月,特训了3个月的Redis及kafka、Zookeeper等消息队列面试真题,夯实了自己的基础,我又有了投顺丰的念头,不为别的,就想从这摔得,就得从这爬起来!!!果然,自己还是比较幸运的,上周也收到了Offer。

其实现在回想起来,Redis也不是很难,可能是顺丰比较偏向Redis,问的比较细,这就卡出来皮毛和精通的竞争者了。今天,小编就结合这次面试,与大家分享一下此次面经,以及大家在备战面试时的知识储备和应对心态,希望能够帮到大家更好的入职大厂~~~

Redis简介

Redis的魅力如此之大,也是因为它是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库,对比其他 key - value 缓存产品有以下三个特点:

Redis支持数据的持久化

Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储

Redis支持数据的备份,即master-slave模式的数据备份

Redis学习路线

怎么样?有了清华大佬整理的学习路线,针对自己的薄弱点,那就开始攻克它吧!如果还是没有头绪,没关系,以下就是小编整理的Redis面试真题以及相应复习文档,希望更加详实的帮到你的复习面试~~~

Redis面试真题

概述

什么是Redis

Redis有哪些优缺点

为什么要用 Redis /为什么要用缓存

为什么要用 Redis 而不用 map/guava 做缓存?

Redis为什么这么快

数据类型

Redis有哪些数据类型

Redis的应用场景

持久化

什么是Redis持久化?

Redis 的持久化机制是什么?各自的优缺点?

如何选择合适的持久化方式

Redis持久化数据和缓存怎么做扩容?

过期键的删除策略

Redis的过期键的删除策略

Redis key的过期时间和永久有效分别怎么设置?

我们知道通过expire来设置key 的过期时间,那么对过期的数据怎么处理呢?

内存相关

MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据

Redis的内存淘汰策略有哪些

Redis主要消耗什么物理资源?

Redis的内存用完了会发生什么?

Redis如何做内存优化?

线程模型

Redis线程模型

事务

什么是事务?

Redis事务的概念

Redis事务的三个阶段

Redis事务相关命令

事务管理(ACID)概述

Redis事务支持隔离性吗

Redis事务保证原子性吗,支持回滚吗

Redis事务其他实现

集群方案

哨兵模式

官方Redis Cluster 方案(服务端路由查询)

基于客户端分配

基于代理服务器分片

Redis 主从架构

Redis集群的主从复制模型是怎样的?

生产环境中的 redis 是怎么部署的?

说说Redis哈希槽的概念?

Redis集群会有写操作丢失吗?为什么?

Redis集群之间是如何复制的?

Redis集群最大节点个数是多少?

Redis集群如何选择数据库?

分区

Redis是单线程的,如何提高多核CPU的利用率?

为什么要做Redis分区?

你知道有哪些Redis分区实现方案?

Redis分区有什么缺点?

分布式问题

Redis实现分布式锁

如何解决 Redis 的并发竞争 Key 问题

分布式Redis是前期做还是后期规模上来了再做好?为什么?

什么是 RedLock

缓存异常

缓存雪崩

缓存穿透

缓存击穿

缓存预热

缓存降级

热点数据和冷数据

缓存热点key

常用工具

Redis支持的Java客户端都有哪些?官方推荐用哪个?

Redis和Redisson有什么关系?

Jedis与Redisson对比有什么优缺点?

其他问题

Redis与Memcached的区别

如何保证缓存与数据库双写时的数据一致性?

Redis常见性能问题和解决方案?

Redis官方为什么不提供Windows版本?

一个字符串类型的值能存储最大容量是多少?

Redis如何做大量数据插入?

假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如果将它们全部找出来?

使用Redis做过异步队列吗,是如何实现的

Redis如何实现延时队列

Redis回收进程如何工作的?

Redis回收使用的是什么算法?

如果是你在面对面试官如此疯狂的Redis轰炸下,能否坚持到第几回合呢?

为了不影响大家的阅读体验,小编只是截取了部分面试答案,有需要深度获取学习的朋友,请转发+关注小编,私信回复【学习】即可免费领取哦~~~

Redis精品复习文档

本篇深入浅出地介绍了Redis 的5种数据类型,并通过多个实用示例展示了Redis的用法。除此之外,还讲述了Redis 的优化方法以及扩展方法,是一本对于学习和使用Redis 来说不可多得的参考秘籍。

本书一共由三个部分组成。第一部分对Redis 进行了介绍,说明了Redis 的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章聚合网站、cookie、 购物车、网页缓存、数据库行缓存等一系列程序。

第二部分对Redis 命令进行了更详细的介绍,并展示了如何使用Redis去构建更为复杂的辅助工具和应用程序,并在最后展示了如何使用Redis去构建一个简单的社交网站。

第三部分对Redis用户经常会遇到的一些问题进行了介绍,讲解了降低Redis内存占用的方法、扩展Redis性能的方法以及使用Lua语言进行脚本编程的方法。

本篇既涵盖了命令用法等入门主题,也包含了复制、集群、性能扩展等深入主题,所以无论是Redis新手还是有一定经验的Redis使用者,应该都能从本书中获益。本篇面向具有基本数据库概念的读者,读者无需预先了解任何NoSQL知识,也不必具备任何Redis使用经验。

本篇从底层源码的角度,对Redis的数据结构以及持久化、主从复制、哨兵和集群等特性的实现原理进行了详尽的剖析,图文并茂。本篇全面解析了Redis 5内核的方方面面,能够有效帮助Redis的开发和运维人员全面理解Redis的运行原理,对于需要进阶Redis的读者而言是难得的好书。

本篇从内容逻辑上分为三部分,

第一篇:第1章简单介绍了Redis,以及Redis的编译安装和研读的方式;第2~8章重点讲解了SDS、跳跃表、压缩列表、字典、整数集合、quicklist 和Stream数据结构的实现。

第二篇:第9章讲解了Redis的生命周期,命令执行的过程,需要重点阅读;第10~19章,分别讲解了键、字符串、散列表、链表、集合、有序集合、GEO、HyperLog 和数据流相关命令的实现。

第三篇:第20~22章简单讲解了持久化、主从复制和集群的实现,没有详细展开,希望能带读者入门。

写在后面

由面试题出发,有的放矢的弥补自己的知识短板,夯实自己的理论基础,再结合清华扫地僧级别大佬的学习路线及实战文档,充分升华自己学习内核,做到理论和实战的相结合,只有这样,才能更加高效的提升进阶自我!!!

对于文章中提到的Redis面试真题和学习文档,有兴趣深度学习了解的朋友,请转发+关注小编,私信回复【学习】即可免费领取哦~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章