其他分享
首页 > 其他分享> > 差点挂在了美团三面,已拿到offer

差点挂在了美团三面,已拿到offer

作者:互联网

# 咱先来聊聊Redis 像Redis的基础入门,掌握下图这几个列出来的知识点足以了。 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532192148046.jpg) 进阶的话,就得下点功夫了,事务、主从复制、哨兵、集群等等之类的搞不明白你就上不去呀。 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532193992351.jpg) 再看美团亿级流量Redis实战,Redis分布式锁、session、缓存与数据库一致性问题、缓存雪崩等之类的都是重中之重的技术点,必须掌握,没得商量。 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532193283123.jpg) 看了这些个技术点,那么我现在就来考考你一些**Redis面试问题**(准备好,接招吧): 1. 为什么要用redis? /为什么要用缓存? 2. 为什么要用redis而不用map/guava做缓存? 3. 如何保证缓存与数据库双写时的数据一致性? 4. redis 常见数据结构以及使用场景分析?(String/Hash/List/Set/Sorted Set) 5. redis如何设置过期时间? 6. redis内存淘汰机制(MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据? 7. Redis 持久化有哪几种方式,怎么选?(怎么保证redis 挂掉之后再重启数据可以进行恢复?) 8. redis事务? 9. Redis常见异常及解决方案?(缓存穿透/缓存雪崩/缓存预热/缓存降级) 10. 分布式环境下常见的应用场景?(分布式锁/分布式自增ID) 11. Redis集群模式?(主从模式/哨兵模式/Cluster集群模式) 12. 如何解决 Redis 的并发竞争 Key 问题? ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532193326450.jpg) 接不住的请看下方答案截图(解析不少,截取不完,可提供完整的答案解析原件): ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532193347651.jpg) ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532194540444.jpg) 接得住的继续,**Redis必备70题(概念+数据结构与指令+高并发处理策略+集群+缓存管理与持久化机制+应用场景设计)**答案已都整理好 * **第一部分:Redis 的概念理解** * 1\. 什么是 Redis? * 2\. Redis 的特点有哪些? * 3\. Memcache 与 Redis 的区别都有哪些?   * 4\. Redis 相比 Memcached 有哪些优势? * 5\. 如何实现本地缓存?请描述一下你知道的方式 * 6\. Redis 通讯协议是什么?有什么特点? * **第二部分:Redis 数据结构与指令** * 1\. Redis 支持的数据类型 * 2\. Redis 常用的命令有哪些? * 3\. 一个字符串类型的值能存储最大容量是多少? * 4\. Redis 各个数据类型最大存储量分别是多少? * 5\. 请介绍一下 Redis 的数据类型 SortedSet(zset)以及底层实现机制? * 6\. Redis 事务相关命令有哪些? * 7\. 什么是 Redis 事务?原理是什么? * 8\. Redis 事务的注意点有哪些? * 9\. Redis 为什么不支持回滚? * 10\. 请介绍一下 Redis 的 Pipeline(管道),以及使用场景 * 11\. 请说明一下 Redis 的批量命令与 Pipeline 有什么不同? * 12\. 请介绍一下 Redis 的发布订阅功能 * 13\. Redis 的链表数据结构的特征有哪些? * 14\. 请介绍一下 Redis 的 String 类型底层实现? * 15\. Redis 的 String 类型使用 SSD 方式实现的好处? * 16\. 设置键的生存时间和过期时间有哪些命令? * **第三部分:Redis 高并发处理策略** * 1\. 为什么 Redis 需要把所有数据放到内存中? * 2\. Redis 是单线程的吗? * 3\. Redis 为什么设计成单线程的? * 4\. 什么是缓存穿透?怎么解决? * 5\. 什么是缓存雪崩? 怎么解决? * 6\. 缓存的更新策略有几种?分别有什么注意事项? * 7\. 请介绍几个可能导致 Redis 阻塞的原因 * 8\. 怎么去发现 Redis 阻塞异常情况? * **第四部分:Redis 集群结构以及设计理念** * 1\. Redis 集群架构模式有哪几种? * 2\. Redis 集群最大节点个数是多少? * 3\. Redis 集群的主从复制模型是怎样的? * 4\. 请介绍一下 Redis 集群实现方案 * 5\. Redis 集群会有写操作丢失吗?为什么 * 6\. Redis 慢查询是什么?通过什么配置? * 7\. Redis 的慢查询修复经验有哪些?怎么修复的? * 8\. 如何优化 Redis 服务的性能? * 9\. Redis 的主从复制模式有什么优缺点? * 10\. Redis sentinel(哨兵)模式优缺点有哪些? * 11\. 如何设置 Redis 的最大连接数?查看 Redis 的最大连接数?查看 Redis 的当前 * 12\. 介绍一些 Redis 常用的安全设置? * **第五部分:Redis 缓存管理与持久化机制** * 1\. Redis 持久化机制有哪些? * 2\. Redis 持久化机制 AOF 和 RDB 有哪些不同之处? * 3\. 请介绍一下 RDB 持久化机制的优缺点 * 4\. 请介绍一下 AOF 持久化机制的优缺点 * 5\. 如果 AOF 文件的数据出现异常, Redis 服务怎么处理? * 6\. 常见的淘汰算法有哪些? * 7\. Redis 淘汰策略有哪些? * 8\. Redis 缓存失效策略有哪些? * 9\. Redis 如何做内存优化? * 10\. 什么是 bigkey? 有什么影响? * 11\. 怎么发现 bigkey? * 12\. Redis 的内存消耗分类有哪些?内存统计使用什么命令? * 13\. 简单介绍一下 Redis 的内存管理方式有哪些? * 14\. 如何设置 Redis 的内存上限?有什么作用? * 15\. Redis 报内存不足怎么处理? * **第六部分:Redis 应用场景设计** * 1\. Redis 适用场景有哪些? * 2\. Redis 常用的业务场景有哪些? * 3\. Redis 支持的 Java 客户端有哪些? 简单说明一下特点。 * 4\. 请简单描述一下 Jedis 的基本使用方法? * 5\. Jedis 连接池链接方法有什么优点? * 6\. 什么是分布式锁?有什么作用? * 7\. 分布式锁可以通过什么来实现? * 8\. 介绍一下分布式锁实现需要注意的事项? * 9\. Redis 怎么实现分布式锁? * 10\. 缓存命中率表示什么? * 11\. 怎么提高缓存命中率? * 12\. 请介绍一下 Spring 注解缓存 聊完面试,该动手了,看看Redis实战,比如下方这本翻译过来的**《Redis In Action》**就是很不错的参考材料 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532194685167.jpg) 全书是分三个部分:入门、核心概念、进阶内容。 * 第一部分对Redis进行了介绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章聚合网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532194832198.jpg) * 第二部分对Redis命令进行了更详细的介绍,并展示了如何使用Redis去构建更为复杂的辅助工具和应用程序,并在最后展示了如何使用Redis去构建一个简单的社交网站。 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532195621206.jpg) * 第三部分对Redis用户经常会遇到的一些问题进行了介绍,讲解了降低Redis内存占用的方法、扩展Redis性能的方法以及使用Lua语言进行脚本编程的方法。 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532195471145.jpg) # Redis就说这么多,别忘了还有MongDB ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532195331704.jpg) MongDB从入门到进阶再到实战,以上的技术点我都有全部列出,掌握了你就是大佬咯~ 为帮助你迅速成为大牛级人物,我想这**《MongoDB用起来-快速上手》+《MongoDB用起来-集群安全》**两本笔记pdf你还是不能错过。 ***第一本:MongoDB快速上手*** **1 MongoDB相关概念** * 1.1 业务应用场景 * 1.2 MongoDB简介 * 1.3 体系结构 * 1.4 数据模型 * 1.5 MongoDB的特点 **2 单机部署** * 2.1 Windows系统中的安装启动 * 2.2 Shell连接(mongo命令) * 2.3 Compass-图形化界面客户端 * 2.4 Linux系统中的安装启动和连接 **3 基本常用命令** * 3.1 案例需求 * 3.2 数据库操作 * 3.3 集合操作 * 3.4 文档基本CRUD * 3.5 文档的分页查询 * 3.6 文档的更多查询 **4 索引-Index** * 4.1 概述 * 4.2 索引的类型 * 4.3 索引的管理操作 * 4.4 索引的使用 **5 文章评论** * 5.1 需求分析 * 5.2 表结构分析 * 5.3 技术选型 * 5.4 文章微服务模块搭建 * 5.5 文章评论实体类的编写 * 5.6 文章评论的基本增删改查 * 5.7 根据上级ID查询文章评论的分页列表 * 5.8 MongoTemplate实现评论点赞 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532196156999.jpg) ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532196780965.jpg) ***第二本:MongoDB集群和安全*** **1 副本集-Replica Sets** * 1.1简介 * 1.2 副本集的三个角色 * 1.3 副本集架构目标 * 1.4 副本集的创建 * 1.5 副本集的数据读写操作 * 1.6 主节点的选举原则 * 1.7 故障测试 * 1.8 Compass连接副本集 * 1.9 SpringDataMongoDB连接副本集 **2 分片集群-Sharded Cluster** * 2.1 分片概念 * 2.2 分片集群包含的组件 * 2.3 分片集群架构目标 * 2.4 分片(存储)节点副本集的创建 * 2.5 配置节点副本集的创建 * 2.6 路由节点的创建和操作 * 2.7 Compass连接分片集群 * 2.8 SpringDataMongDB连接分片集群 * 2.9 清除所有的节点数据(备用) **3 安全认证** * 3.1 MongoDB的用户和角色权限简介 * 3.2 单实例环境 * 3.3 副本集环境 * 3.4 分片集群环境(扩展) ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532196573042.jpg) ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532196707803.jpg) # # 最后 现在其实从大厂招聘需求可见,在招聘要求上有高并发经验优先,包括很多朋友之前都是做传统行业或者外包项目,一直在小公司,技术搞的比较简单,没有怎么搞过分布式系统,但是现在互联网公司一般都是做分布式系统。 所以说,如果你想进大厂,想脱离传统行业,这些技术知识都是你必备的,下面自己手打了一份Java并发体系思维导图,希望对你有所帮助。 **[资料获取方式:戳这里免费下载](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)** ![](http://www.icode9.com/i/li/?n=2&i=images/20210706/1625532197333199.jpg)

标签:缓存,offer,s2.51,美团,Redis,https,cto,三面,com
来源: https://blog.51cto.com/u_15290980/2985379