这几年在Java工程师招聘时,会看到很多人的简历都写着使用了Spring Cloud做微服务实现,使用Docker做自动化部署,并且也会把这些做为自己的亮点。而比较有趣的这其中以小公司出来的人为绝大多数,大的公司出来的人简历上倒是很少提这些东西。
对于我自己来说,从15年就开始关注这一块,看过马丁.福勒最开始的关于微服务的论文、也看过不少对微服务的论证的英文文章和书,也研究过Spring Cloud、Sofa等开源实现以及Service mesh。考虑到我们公司研发团队人力不足、基础设施不完善,当初是没有推行微服务的。但随着看到上述的那种简历越来越多,有时候我也会疑问:难道真的不用微服务就落后了吗?公司的同事如果不掌握这些就真的没有竞争力了吗。而随着最近公司业务的逐步提升,研发人员越来越多,借着在梳理公司的微服务落地计划时,也梳理了一下微服务的相关知识点,也是本文的主要内容。
像Redis的基础入门,掌握下图这几个列出来的知识点足以了。
进阶的话,就得下点功夫了,事务、主从复制、哨兵、集群等等之类的搞不明白你就上不去呀。
再看美团亿级流量Redis实战,Redis分布式锁、session、缓存与数据库一致性问题、缓存雪崩等之类的都是重中之重的技术点,必须掌握,没得商量。
看了这些个技术点,那么我现在就来考考你一些Redis面试问题(准备好,接招吧):
接不住的请看下方答案截图(解析不少,截取不完,可提供完整的答案解析原件):
接得住的继续,**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》**就是很不错的参考材料
全书是分三个部分:入门、核心概念、进阶内容。
MongDB从入门到进阶再到实战,以上的技术点我都有全部列出,掌握了你就是大佬咯~
为帮助你迅速成为大牛级人物,我想这**《MongoDB用起来-快速上手》+《MongoDB用起来-集群安全》**两本笔记pdf你还是不能错过。
第一本:MongoDB快速上手
1 MongoDB相关概念
2 单机部署
3 基本常用命令
4 索引-Index
5 文章评论
第二本:MongoDB集群和安全
1 副本集-Replica Sets
2 分片集群-Sharded Cluster
3 安全认证
为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦,有需要的可以来找我获取哈
获取方式:点击蓝色字体即可免费获取
418432122)]
[外链图片转存中…(img-pgtjznS7-1619418432123)]
为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦,有需要的可以来找我获取哈
获取方式:点击蓝色字体即可免费获取
[外链图片转存中…(img-Zib28Iok-1619418432123)]