前言
面试前就有听说过字节比较考验算法,面试的时候果然是,还好自己刷题比较多,这也验证了一个说法,大家在面试字节等目前比较火的互联网公司,一定要记得多刷题,文末会有自己面试的时候准备好的面试题PDF文档,有注意各位查漏补缺,有需要的可以找我免费获取到,这次面试的答案我也已经整理出来了,文末会有获取方式! 具体的面试题,大家看正文吧!
咱先来聊聊Redis
像Redis的基础入门,掌握下图这几个列出来的知识点足以了。
进阶的话,就得下点功夫了,事务、主从复制、哨兵、集群等等之类的搞不明白你就上不去呀。
再看美团亿级流量Redis实战,Redis分布式锁、session、缓存与数据库一致性问题、缓存雪崩等之类的都是重中之重的技术点,必须掌握,没得商量。
看了这些个技术点,那么我现在就来考考你一些Redis面试问题(准备好,接招吧):
- 为什么要用redis? /为什么要用缓存?
- 为什么要用redis而不用map/guava做缓存?
- 如何保证缓存与数据库双写时的数据一致性?
- redis 常见数据结构以及使用场景分析?(String/Hash/List/Set/Sorted Set)
- redis如何设置过期时间?
- redis内存淘汰机制(MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?
- Redis 持久化有哪几种方式,怎么选?(怎么保证redis 挂掉之后再重启数据可以进行恢复?)
- redis事务?
- Redis常见异常及解决方案?(缓存穿透/缓存雪崩/缓存预热/缓存降级)
- 分布式环境下常见的应用场景?(分布式锁/分布式自增ID)
- Redis集群模式?(主从模式/哨兵模式/Cluster集群模式)
- 如何解决 Redis 的并发竞争 Key 问题?
接不住的请看下方答案截图(解析不少,截取不完,可提供完整的答案解析原件):
</