还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
面试题及答案redisRedis面试题及答案引言本文档整理了Redis相关的常见面试题及对应答案,涵盖基础概念、数据结构、持久化、集群方案、缓存策略等核心知识点,旨在帮助技术人员系统复习Redis相关知识,提升面试通过率题目类型包括单选、多选、判断及简答题,答案简洁实用,适合快速掌握重点
一、单项选择题(共30题,每题1分)(以下题目覆盖Redis基础概念、核心特性及应用场景)Redis默认使用的数据库数量是多少?A.1B.8C.16D.无限Redis的哪种数据结构是基于哈希表实现的,支持键值对存储?A.StringB.HashC.SetD.Sorted Set以下哪种操作是Redis的原子操作?A.对String类型执行APPEND命令B.对List类型执行LPOP命令C.对Hash类型执行HGETALL命令D.对Set类型执行SADD命令Redis的键空间过期策略中,惰性删除的触发时机是?第1页共15页A.定期扫描时B.键被访问时C.服务重启时D.内存满时RDB持久化方式的文件默认名称是?A.redis.rdbB.dump.rdbC.backup.rdbD.data.rdbRedis的哪种数据结构不允许重复元素?A.ListB.SetC.HashD.String以下哪个命令用于查看Redis服务器的内存使用情况?A.INFO memoryB.MEMORY USAGEC.INFO statsD.MEMORY USAGERedis的String类型最大能存储的数据大小是?A.1MBB.512MBC.1GBD.无限制以下哪种不是Redis的持久化方式?第2页共15页A.RDBB.AOFC.混合持久化D.DBDRedis的哪项特性使得它可以作为分布式锁的实现基础?A.单线程模型B.原子操作C.发布订阅D.事务对List类型执行LRANGE key0-1命令的作用是?A.获取列表中所有元素B.获取列表中前10个元素C.获取列表中1个元素D.获取列表长度Redis的默认端口号是?A.3306B.6379C.8080D.9000以下哪种数据结构支持按分数排序?A.StringB.SetC.Sorted SetD.HashRedis的过期键删除策略中,定期删除的执行频率是?第3页共15页A.每秒钟执行一次B.每10秒钟执行一次C.每30秒钟执行一次D.每60秒钟执行一次AOF持久化方式的默认同步策略是?A.alwaysB.everysecC.noD.不启用Redis的“缓存穿透”问题通常指的是?A.缓存中存在该key,但值为nullB.缓存中不存在该key,且数据库中也不存在C.缓存中存在该key,但值已过期D.大量请求访问缓存未命中的key对Hash类型执行HSET命令时,如果字段已存在,会发生什么?A.覆盖原有值B.不做任何操作C.返回错误D.追加值Redis的哪项功能可以实现主从节点的数据同步?A.哨兵模式B.复制(Replication)C.集群(Cluster)D.持久化以下哪个命令可以为key设置过期时间?第4页共15页A.SET keyvalueB.EXPIRE keysecondsC.TTL keyD.PEXPIRE keymillisecondsRedis的哪种数据结构适用于实现排行榜功能?A.StringB.SetC.Sorted SetD.ListRedis的事务中,哪个命令用于取消事务?A.EXECB.DISCARDC.WATCHD.MULTI以下哪种不是Redis的集群方案?A.主从复制B.哨兵模式C.分片集群D.主从同步Redis的“缓存击穿”问题通常指的是?A.缓存中不存在该key,但数据库中存在,且请求量极大B.缓存中存在该key,但值已过期,且大量请求访问C.缓存中存在该key,但被恶意篡改D.缓存满了,新数据无法写入对Set类型执行SINTER key1key2命令的作用是?第5页共15页A.获取两个集合的并集B.获取两个集合的交集C.获取两个集合的差集D.获取两个集合的元素数量Redis的哪项机制可以保证主节点故障时,从节点自动升级为主节点?A.主从复制B.哨兵模式C.集群投票D.自动故障转移以下哪个命令可以查看指定key的剩余过期时间(秒)?A.EXPIRE keysecondsB.TTL keyC.PTTL keyD.PEXPIRE keymillisecondsRedis的“缓存雪崩”问题通常指的是?A.大量缓存key过期,导致大量请求直击数据库B.缓存服务器宕机,导致所有请求直击数据库C.数据库性能不足,无法处理缓存未命中的请求D.缓存中存在大量无效数据以下哪种数据结构是Redis中唯一支持原子性自增自减操作的?A.StringB.HashC.SetD.Sorted SetRedis的哪项持久化方式恢复数据更快?第6页共15页A.RDBB.AOFC.混合持久化D.都一样以下哪个不是Redis的应用场景?A.分布式锁B.会话存储C.关系型数据库D.计数器
二、多项选择题(共20题,每题2分)(以下题目覆盖Redis进阶知识,多选、少选、错选均不得分)Redis的核心特性包括哪些?A.高性能(基于内存)B.支持多种数据结构C.持久化能力D.主从复制和集群E.事务和发布订阅以下属于Redis数据结构的有?A.ArrayB.StringC.HashD.SetE.Sorted SetRedis的String类型支持哪些操作?A.SET/GET第7页共15页B.APPENDC.INCR/DECRD.STRLENE.MSET/MSGET关于Redis的过期键处理,以下说法正确的有?A.采用惰性删除和定期删除结合的策略B.惰性删除是键被访问时检查是否过期C.定期删除是Redis每秒随机检查部分过期键D.定期删除最多删除25个过期键,避免阻塞E.过期键不会被客户端访问到Redis的持久化方式中,关于RDB的描述正确的有?A.生成快照文件B.文件较小,恢复速度快C.可能丢失数据(一次快照后的数据)D.默认在900秒内有1次写操作触发E.适合对数据安全性要求高的场景AOF持久化方式的优势包括?A.数据安全性更高(可配置always同步)B.日志文件可追加,不易损坏C.恢复数据时可能比RDB更精确D.文件体积比RDB小E.支持AOF重写优化文件体积可能导致Redis内存溢出的原因有?A.缓存数据量过大B.未设置过期键,数据无限增长第8页共15页C.内存碎片率过高D.开启了持久化功能E.大量执行耗时命令(如KEYS*)Redis的主从复制中,从节点的作用有?A.分担主节点的读压力B.作为备份,避免主节点故障数据丢失C.实现读写分离D.支持哨兵模式的自动故障转移E.直接处理写请求以下哪些是Redis的缓存问题及解决方案?A.缓存穿透布隆过滤器B.缓存击穿互斥锁/热点数据永不过期C.缓存雪崩过期时间随机化/多级缓存D.缓存一致性更新数据库后主动更新缓存E.缓存污染LRU淘汰策略Redis的事务特点包括?A.原子性(要么全部执行,要么全部不执行)B.隔离性(事务中的命令顺序执行,不被其他命令打断)C.一致性(事务执行前后数据状态一致)D.可串行化(多个事务按顺序执行)E.支持回滚操作(MULTI/EXEC中可通过DISCARD回滚)Redis的集群方案中,哨兵模式的功能包括?A.监控主节点是否下线B.自动执行主从切换C.通知客户端新的主节点地址第9页共15页D.支持自动故障转移E.实现数据分片存储Redis的Sorted Set类型与Set类型的区别有?A.Sorted Set支持按分数排序B.Sorted Set的元素是唯一的C.Sorted Set支持范围查询(如ZREVRANGEBYSCORE)D.Sorted Set的插入和删除复杂度为OlogNE.Sorted Set的分数可以重复以下哪些命令可以用于删除key?A.DELB.UNLINKC.FLUSHDBD.WATCHE.EXPIRERedis的List类型支持的操作有?A.LPUSH/LPOP(左端插入/删除)B.RPUSH/RPOP(右端插入/删除)C.LRANGE(范围查询)D.LLEN(获取长度)E.LINSERT(在指定元素前后插入)可能导致Redis性能下降的原因包括?A.大量使用大key(如5MB以上的String)B.频繁执行全量扫描命令KEYS*C.内存碎片率过高D.开启了AOF持久化且同步策略为always第10页共15页E.主从复制时从节点数量过多Redis的“键空间”相关概念包括?A.所有key的集合B.每个key的元数据(过期时间、数据类型等)C.用于管理过期键的过期字典D.键的引用计数E.键的访问频率统计Redis的Hash类型适用于哪些场景?A.存储对象数据(如用户信息name、age、email)B.实现购物车(商品ID-数量映射)C.需要频繁更新部分字段的场景D.需要统计每个key的字段数量E.实现分布式锁Redis的集群(Cluster)模式的特点有?A.数据分片存储(按槽位)B.支持主从复制和自动故障转移C.每个节点保存部分槽位数据D.支持动态扩缩容E.客户端需手动计算槽位以下哪些是Redis的高级特性?A.发布订阅B.地理空间(GEO)C.位图(Bitmap)D.布隆过滤器E.脚本(EVAL)第11页共15页Redis的哪项机制可以实现分布式锁?A.SET keyvalue NXEX30(NX表示不存在时才设置,EX设置秒级过期)B.SETNX keyvalue(不存在时设置)C.INCR key(自增计数)D.HSET keyfield value(哈希存储)E.事务中的WATCH命令
三、判断题(共20题,每题1分)(对的打√,错的打×)Redis是单线程的,无法处理高并发请求×(单线程设计减少上下文切换,适合高并发读场景,写操作也可通过单线程高效处理)Redis的String类型可以存储二进制数据√(String类型内部以字节数组存储,支持任意二进制数据)Redis的RDB文件是在服务重启时生成的×(RDB是定期快照,服务启动时从RDB文件加载数据)AOF持久化的always策略性能比everysec策略好×(always同步策略会阻塞写操作,性能最差)Redis的“缓存穿透”可以通过设置null值缓存解决√(缓存null值,避免重复查询数据库)Redis的List类型是有序且不可重复的×(List有序但可重复,如LPUSH两次相同元素)Redis的主从复制中,从节点只能读取数据,不能执行写操作×(从节点默认只读,可通过slave-read-only no开启写)Redis的事务中如果执行了WATCH命令,当事务外修改了被WATCH的key,事务会被打断×(WATCH监控key,修改后事务执行时会放弃)第12页共15页Redis的Sorted Set的ZREVRANGEBYSCORE命令可以按分数从高到低查询元素√Redis的内存淘汰策略中,LRU(最近最少使用)是最常用策略之一√Redis的集群(Cluster)模式默认有16384个槽位√Redis的“缓存雪崩”问题可以通过设置所有key的过期时间相同解决×(应设置过期时间随机化,避免过期)Redis的BGSAVE命令会阻塞主进程生成RDB文件×(BGSAVE通过子进程生成RDB,主进程不阻塞)Redis的Hash类型的HGETALL命令会返回所有字段和值,可能导致大key问题√Redis的PUBLISH命令可以向多个频道发送消息×(PUBLISH向单个频道发送,SUBSCRIBE订阅单个或多个频道)Redis的SET命令中,EX参数设置的是毫秒级过期时间×(EX是秒级,PX是毫秒级)Redis的哨兵模式至少需要3个节点才能保证高可用×(至少2个节点1主1从1哨兵)Redis的ZADD命令中,如果元素已存在,会更新其分数√Redis的INFO stats命令可以查看键总数、内存使用等统计信息√Redis的“缓存一致性”问题指的是缓存与数据库数据不一致√
四、简答题(共2题,每题5分)简述Redis的过期键删除策略及其作用答Redis采用“惰性删除+定期删除”结合的策略惰性删除当键被访问时,检查是否过期,过期则删除;定期删除Redis每秒从过期字典中随机检查20个过期键,删除其中过期的,最多删除25个,避第13页共15页免阻塞主线程作用是平衡内存占用与性能,避免过期键占用内存且不影响正常访问简述Redis集群中哨兵模式(Sentinel)的核心功能答哨兵模式核心功能包括监控(Sentinel定期检查主从节点是否在线)、通知(主从故障时通知客户端)、自动故障转移(主节点下线后,选从节点升级为主节点,更新主从关系),确保Redis集群高可用,解决主节点故障导致的服务不可用问题附标准答案
一、单项选择题1-5C B D BB6-10B A C DB11-15A B C A B16-20B A B AC21-25BDA A B26-30B A AAC
二、多项选择题1A BC D E2BC DE3A BC DE4A BC D5A BC D6A BC E7A BC E8A BC9A BC D第14页共15页10A BC D11A BC DD12AC D13ABC14ABCDE15ABCD16第15页共15页。
个人认证
优秀文档
获得点赞 0