“68 道 Redis+168 道 MySQL”精品面试题(带解析),你背废了吗?
谈起 Redis 和 MySQL,皆是广大 程 序 猿(媛)朋友面试跳槽必踩的两个坑。那么,关于 Redis 与 MySQL,面试官最爱问哪些问题呢?不知道也不用慌,我已整理了这“68 道 Redis+168 道 MySQL” 精品面试题(带解析),速来试试你 背 “废” 了吗?
68 道 Redis 精品面试题(带解析)
刷 Redis 面试题之前,给大家梳理一下整个 Redis 架构的知识,顺带手绘了一版 xmind 的架构脑图,不过原件无法直接上传,上面直接截图展现!
小伙伴们有兴趣想了解内容和更多相关学习资料的请点赞收藏+评论转发+关注我,后面会有很多干货。我有一些面试题、架构、设计类资料可以说是程序员面试必备!所有资料都整理到网盘了,需要的话欢迎下载!私信我回复【000】即可免费获取
第一部分:Redis 的概念理解
1. 什么是 Redis?
2. Redis 的特点有哪些?
3. Memcache 与 Redis 的区别都有哪些?
4. Redis 相比 Memcached 有哪些优势?
5. 如何实现本地缓存?请描述一下你知道的方式
6. Redis 通讯协议是什么?有什么特点?
第二部分:Redis 数据结构与指令
7. Redis 支持的数据类型
8. Redis 常用的命令有哪些?
9. 一个字符串类型的值 能存储最大容量是多少?
10. Redis 各个数据类型最大存储量分别是多少?
11. 请介绍一下 Redis 的数据类型 SortedSet(zset)以及底层实现机制?
12. Redis 事务相关命令有哪些?
13. 什么是 Redis 事务?原理是什么?
14. Redis 事务的注意点有哪些?
15. Redis 为什么不支持回滚?
16. 请介绍一下 Redis 的 Pipeline(管道),以及使用场景
17. 请说明一下 Redis 的批量命令与 Pipeline 有什么不同?
18. 请介绍一下 Redis 的发布订阅功能
19. Redis 的链表数据结构的特征有哪些?
20. 请介绍一下 Redis 的 String 类型底层实现?
21. Redis 的 String 类型使用 SSD 方式实现的好处?
22. 设置键的生存时间和过期时间有哪些命令?
第三部分:Redis 高并发处理策略
23. 为什么 Redis 需要把所有数据放到内存中?
24. Redis 是单线程的吗?
25. Redis 为什么设计成单线程的?
26. 什么是缓存穿透?怎么解决?
27. 什么是缓存雪崩? 怎么解决?
28. 缓存的更新策略有几种?分别有什么注意事项?
29. 请介绍几个可能导致 Redis 阻塞的原因
30. 怎么去发现 Redis 阻塞异常情况?
第四部分:Redis 集群结构以及设计理念
31. Redis 集群架构模式有哪几种?
32. Redis 集群最大节点个数是多少?
33. Redis 集群的主从复制模型是怎样的?
34. 请介绍一下 Redis 集群实现方案
35. Redis 集群会有 写操作丢失吗?为什么?
36. Redis 慢查询是什么?通过什么配置?
37. Redis 的慢查询修复经验有哪些?怎么修复的?
38. 如何优化 Redis 服务的性能?
39. Redis 的主从复制模式有什么优缺点?
40. Redis sentinel(哨兵)模式优缺点有哪些?
41. 如何设置 Redis 的最大连接数?查看 Redis 的最大连接数?查看 Redis 的当前
42. 介绍一些 Redis 常用的安全设置?
第五部分:Redis 缓存管理与持久化机制
43. Redis 持久化机制有哪些?
44. Redis 持久化机制 AOF 和 RDB 有哪些不同之处?
45. 请介绍一下 RDB 持久化机制的优缺点
46. 请介绍一下 AOF 持久化机制的优缺点
47. 如果 AOF 文件的数据出现异常, Redis 服务怎么处理?
48. 常见的淘汰算法有哪些?
49. Redis 淘汰策略有哪些?
50. Redis 缓存失效策略有哪些?
51. Redis 如何做内存优化?
52. 什么是 bigkey? 有什么影响?
53. 怎么发现 bigkey?
54. Redis 的内存消耗分类有哪些?内存统计使用什么命令?
55. 简单介绍一下 Redis 的内存管理方式有哪些?
56. 如何设置 Redis 的内存上限?有什么作用?
57. Redis 报内存不足怎么处理?
第六部分:Redis 应用场景设计
58. Redis 适用场景有哪些?
59. Redis 常用的业务场景有哪些?
60. Redis 支持的 Java 客户端有哪些? 简单说明一下特点。
61. 请简单描述一下 Jedis 的基本使用方法?
62. Jedis 连接池连接方法有什么优点?
63. 什么是分布式锁?有什么作用?
64. 分布式锁可以通过什么来实现?
65. 介绍一下分布式锁实现需要注意的事项?
66. Redis 怎么实现分布式锁?
67. 缓存命中率表示什么?
68. 怎么提高缓存命中率?
以上便是这 68 道精品 Redis 面试题,如若在不看答案的情况下,试问自己可以答出多少?
168 道 MySQL 精品面试题(带解析)
先梳理一遍 MySQL 知识,如下图(手绘版 xmind 架构脑图,原件无法上传,截图展现)
MySQL 架构脑图
第一部分:MySQL 基础问题
1.说一下 MySQL 执行一条查询语句的内部执行过程?
2.MySQL 提示“不存在此列”是执行到哪个节点报出的?
3.MySQL 查询缓存的功能有何优缺点?
4.如何关闭 MySQL 的查询缓存功能?
5.MySQL 的常用引擎都有哪些?
6.MySQL 可以针对表级别设置数据库引擎吗?怎么设置?
7.常用的存储引擎 InnoDB 和 MyISAM 有什么区别?
8.InnoDB 有哪些特性?
9.一张自增表中有三条数据,删除了两条数据之后重启数据库,再新增一条数据,此时这条数据的 ID 是几?
10.MySQL 中什么情况会导致自增主键不能连续?
11.InnoDB 中自增主键能不能被持久化?
12.什么是独立表空间和共享表空间?它们的区别是什么?
13.如何设置独立表空间?
14.如何进行表空间收缩?
15.说一下重建表的执行流程?
16.表的结构信息存在哪里?
17.什么是覆盖索引?
18.如果把一个 InnoDB 表的主键删掉,是不是就没有主键,就没办法进行回表查询了?
19.执行一个 update 语句以后,我再去执行 hexdump 命令直接查看 ibd 文件内容,为什么没有看到数据有改变呢?
20.内存表和临时表有什么区别?
21.并发事务会带来哪些问题?
22.什么是脏读和幻读?
23.为什么会出现幻读?幻读会带来什么问题?
24.如何避免幻读?
25.如何查看 MySQL 的空闲连接?
26.MySQL 中的字符串类型都有哪些?
27.VARCHAR 和 CHAR 的区别是什么?分别适用的场景有哪些?
28.MySQL 存储金额应该使用哪种数据类型?为什么?
29.limit 3,2 的含义是什么?
30.now() 和 current_date() 有什么区别?
31.如何去重计算总条数?
32.lastinsertid() 函数功能是什么?有什么特点?
33.删除表的数据有几种方式?它们有什么区别?
34.MySQL 中支持几种模糊查询?它们有什么区别?
35.MySQL 支持枚举吗?如何实现?它的用途是什么?
36.count(column) 和 count(*) 有什么区别?
37.以下关于 count 说法正确的是?
38.为什么 InnoDB 不把总条数记录下来,查询的时候直接返回呢?
39.能否使用 show table status 中的表行数作为表的总行数直接使用?为什么?
40.以下哪个 SQL 的查询性能最高?
41.InnoDB 和 MyISAM 执行 select count(*) from t,哪个效率更高?为什么?
42.在 MySQL 中有对 count(*) 做优化吗?做了哪些优化?
43.在 InnoDB 引擎中 count(*)、count(1)、count(主键)、count(字段) 哪个性能最高?
44.MySQL 中内连接、左连接、右连接有什么区别?
45.什么是视图?如何创建视图?
46.视图有哪些优点?
47.MySQL 中“视图”的概念有几个?分别代表什么含义?
48.使用 delete 误删数据怎么找回?
49.Flashback 恢复数据的原理是什么?
第二部分:MySQL 索引问题
50.什么是索引?
51.索引分别有哪些优点和缺点?
52.以下 SQL 有什么问题?该如何优化?
53.为什么 MySQL 官方建议使用自增主键作为表的主键?
54.自增主键有哪些优缺点?
55.索引有几种类型?分别如何创建?
56.主索引和唯一索引有什么区别?
57.在 InnDB 中主键索引为什么比普通索引的查询性能高?
58.什么叫回表查询?
58.如何查询一张表的所有索引?
60.MySQL 最多可以创建多少个索引列?
61.以下 like 查询会使用索引的是哪一个选项?为什么?
62.如何让 like %abc 走索引查询?
63.MySQL 联合索引应该注意什么?
64.联合索引的作用是什么?
65.什么是最左匹配原则?它的生效原则有哪些?
66.列值为 NULL 时,查询会使用到索引吗?
67.以下语句会走索引么?
68.能否给手机号的 前 6 位创建索引?如何创建?
69.什么是前缀索引?
70.为什么要用前缀索引?
71.什么情况下适合使用前缀索引?
72.什么是页?
73.索引的常见存储算法有哪些?
74.InnoDB 为什么要使用 B+ 树,而不是 B 树、Hash、红黑树或二叉树?
75.为什么 InnoDB 要使用 B+ 树来存储索引?
76.唯一索引和普通索引哪个性能更好?
77.优化器选择查询索引的影响因素有哪些?
78.MySQL 是如何判断索引扫描行数的多少?
79.MySQL 是如何得到索引基数的?它准确吗?
80.MySQL 如何指定查询的索引?
81.在 MySQL 中指定了查询索引,为什么没有生效?
82.以下 or 查询有什么问题吗?该如何优化?
83.以下查询要如何优化?
84.MySQL 会错选索引吗?
85.如何解决 MySQL 错选索引的问题?
86.如何优化身份证的索引?
第三部分:MySQL 锁问题
87.什么是锁?MySQL 中提供了几类锁?
88.什么是死锁?
89.常见的死锁案例有哪些?
90.如何处理死锁?
91.如何查看死锁?
92.如何避免死锁?
93.InnoDB 默认是如何对待死锁的?
94.如何开启死锁检测?
95.什么是全局锁?它的应用场景有哪些?
96.什么是共享锁?
97.什么是排它锁?
98.使用全局锁会导致什么问题?
99.如何处理逻辑备份时,整个数据库不能插入的情况?
100.如何设置数据库为全局只读锁?
101.除了 FTWRL 可以设置数据库只读外,还有什么别的方法?
102.FTWRL 和 set global readonly=true 有什么区别?
103.如何实现表锁?
104.悲观锁和乐观锁有什么区别?
105.乐观锁有什么优点和缺点?
106.InnoDB 存储引擎有几种锁算法?
107.InnoDB 如何实现行锁?
108.优化锁方面你有什么建议?
第四部分:MySQL 日志问题
109.MySQL 有哪些重要的日志文件?
110.redo log 和 binlog 有什么区别?
111.什么是 crash-safe?
112.什么是脏页和干净页?
113.什么情况下会引发 MySQL 刷脏页(flush)的操作?
114.MySQL 刷脏页的速度很慢可能是什么原因?
115.如何控制 MySQL 只刷新当前脏页?
116.MySQL 的 WAL 技术是解决什么问题的?
117.为什么有时候会感觉 MySQL 偶尔卡一下?
118.redo log 和 binlog 是怎么关联的?
119.MySQL 怎么知道 binlog 是完整的?
120.MySQL 中可不可以只要 binlog,不要 redo log?
121.MySQL 中可不可以只要 redo log,不要 binlog?
122.为什么 binlog cache 是每个线程自己维护的,而 redo log buffer 是全局共用的?
123.事务执行期间,还未提交,如果发生 crash,redo log 丢失,会导致主备不一致呢?
124.在 MySQL 中用什么机制来优化随机读/写磁盘对 IO 的消耗?
125.以下说法错误的是?
126.以下说法正确的是?
127.有没有办法把 MySQL 的数据恢复到过去某个指定的时间节点?怎么恢复?
128.MySQL 命令和内置函数篇
129.如何用命令行方式连接 MySQL 数据库?
130.关于命令 mysql -h 127.0.0.1 -uroot -P 3307 -p3307 以下说法错误的是?
131.如何创建用户?并给用户授权?
132.如何修改 MySQL 密码?
133.如何使用 SQL 创建数据库,并设置数据库的编码格式?
134.如何修改数据库、表的编码格式?
135.如何使用 SQL 创建表?
136.在 MySQL 命令行中如何查看表结构信息?
137.如何使用 SQL 查看已知表的建表脚本?
138.如何使用 SQL 语句更新表结构?
139.MySQL 有哪些删除方式?有什么区别?
140.如何开启和关闭 MySQL 服务?
141.如何查询当前 MySQL 安装的版本号?
142.如何查看某张表的存储引擎?
143.如何查看当前数据库增删改查的执行次数统计?
144.如何查询线程连接数?
145.如何查看 MySQL 的最大连接数?能不能修改?怎么修改?
146.CHAR_LENGTH 和 LENGTH 有什么区别?
147.UNION 和 UNION ALL 的用途是什么?有什么区别?
148.以下关于 WHERE 和 HAVING 说法正确的是?
149.空值和 NULL 的区别是什么?
150.MySQL 的常用函数有哪些?
第五部分:MySQL 性能优化问题
151.MySQL 性能指标都有哪些?如何得到这些指标?
152.什么是慢查询?
153.如何开启慢查询日志?
154.如何定位慢查询?
155.MySQL 的优化手段都有哪些?
156.MySQL 常见读写分离方案有哪些?
157.介绍一下 Sharding-JDBC 的功能和执行流程?
158.什么是 MySQL 多实例?如何配置 MySQL 多实例?
159.怎样保证确保备库无延迟?
第六部分:MySQL 开放性问题
160.有一个超级大表,如何优化分页查询?
161.线上修改表结构有哪些风险?
162.查询长时间不返回可能是什么原因?应该如何处理?
163.MySQL 主从延迟的原因有哪些?
164.如何保证数据不被误删?
165.MySQL 服务器 CPU 飙升应该如何处理?
166.MySQL 毫无规律的异常重启,可能产生的原因是什么?该如何解决?
167.如何实现一个高并发的系统?
MySQL 的面试题整的有点多,168 道,不知道这一路下来你是不是都看懵了?
我也同样整理成如下的 64 页文档了!
答案解析,不论是 Redis 还是 MySQL,整个的内容都太多了,无法全部上传,但都已整理成完整的文档,68 道 Redis 精品面试题(带解析)25 页,168 道 MySQL 精品面试题(带解析)64 页,如需完整的答案解析进行参考学习,以及前面我手绘的 Redis+MySQL 的架构脑图 xmind 版,皆可 100%分享一并学习!
需要的小伙伴都可以私信我,注意回复【000】即可获取更多免费资料!
祝愿大家前程似锦,offer 不断!!Fighting!!Fighting!!
“68 道 Redis+168 道 MySQL”精品面试题(带解析),你背废了吗?相关推荐
- 金九银十!“68道 Redis+168道 MySQL”精品面试题(带解析),你背废了吗?
前言 谈起 Redis 和 MySQL,皆是广大 程 序 猿(媛)朋友面试跳槽必踩的两个坑.那么,关于Redis与MySQL,面试官最爱问哪些问题呢?不知道也不用慌,我已整理了这"68道 R ...
- “68道 Redis+168道 MySQL”精品面试题(带解析),你背废了吗?
谈起 Redis 和 MySQL,皆是广大 程 序 猿(媛)朋友面试跳槽必踩的两个坑.那么,关于Redis与MySQL,面试官最爱问哪些问题呢?不知道也不用慌,我已整理了这"68道 Redi ...
- 软件测试面试题,20道[超经典]大厂测试工程师面试题[附解析]
1.讲述在你的测试工作中遇到印象最深的一个BUG? 答:我在XX项目中新增XX信息的时候,遇到过这样一个印象深刻的BUG,我填写了相关信息,但是有一栏是空的,点击取消,反而显示新增成功.之后我们定位这 ...
- mysql数据库面试题带答案(一)
一.选择题 1.MySQL是一个(C)的数据库系统. (A) 网状型(B)层次型(C)关系型(D)以上都不是 2.根据关系数据基于的数据模型--关系模型的特征判断下列正确的一项:(B) A.只存在一对 ...
- MySQL索引面试题详细解析
前言 MySQL是关系性数据库中的一种,查询功能强,数据一致性高,数据安全性高,支持二级索引.但性能方面稍逊于非关系性数据库,特别是百万级别以上的数据,很容易出现查询慢的现象.这时候需要分析查询慢的原 ...
- 【Redis】精品面试题100道
[Redis]精品面试题100道 加个说明:我的初心是Java每个技术栈整理个100道面试题,现在的底子是哪吒的<208道面试题>和敖丙面试题 后续我会把自己有价值的题和面试真题添加进入, ...
- 68 道Redis面试题
转载来源 : https://mp.weixin.qq.com/s/As9MYcFV7Rk_NR5lKBQyzQ 作者 | ThinkWon 责编 | 徐威龙 来源 | CSDN 博客 介绍 Redi ...
- 2020 年最新版 68 道Redis面试题,20000 字干货,赶紧收藏起来备用!
作者 | ThinkWon 责编 | 徐威龙 来源 | CSDN 博客 封图| CSDN 下载于视觉中国 Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开 ...
- A里P7推荐68道Redis面试题,全是干货,20年面试必备
Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库. Redis 可以存储键和五种不同类型的值之 ...
最新文章
- vsftpd安装配置
- linux文件系统_Linux的文件系统简介
- 新买的内置光驱读取光盘有杂音的解决办法
- 12c安装默认密码_如何安装MySQL数据库和navicat客户端?
- 清华大学发布10大机器翻译学习必读论文清单 | 资源
- 18.7 修改IP地址
- Linux版Flash亮相,但64位版需时间
- C#-实现微信激活会员卡后响应激活动作并获取会员信息
- 同工作组计算机连接用户名和密码错误,登录失败: 未知的用户名或错误密码
- Angular2 Directive讲解
- 【C语言】数字直角三角形,数字矩阵,蛇形数组
- h20r1203功率管参数_电磁炉功率管H20R1353可以用H20R1203代换吗
- 解决 Jupyter notebook 运行SHELL 命令(!xxx), 出错: OSError: “/bin/bach“ shell not found
- Unity TouchScript大屏
- html ui组件,UI组件
- 解决NavigationDuplicated: Avoided redundant navigation to current location: 问题
- js中every用法_JS中every()和some()的用法
- 开发自己的网上支付案例代码(易宝支付php)
- 根据输入的正整数y所代表的年份,计算输出该年份是否为闰年 闰年的判断标准:
- 硬盘使用时间能改吗,怎么修改呢?
热门文章
- 第三届“传智杯”全国大学生IT技能大赛(初赛B组)题解合集
- Python练手项目:用中国地图验证四色地理
- iPhone设置中的“开发者”选项
- PostgreSql 配置文件 postgresql.conf 参数设置
- 我的秋招经验分享(内附校招交流群)
- matlab中示波器种类,什么是示波器?示波器的种类和使用方法图解
- c语言文字转语音代码,C语言实现将文字转为语音
- windows 2012新建额外域控没有netlogon和SYSVOL共享的解决办法
- 15款最好用的腾讯短链接(url.cn接口)批量在线生成接口
- python爬取新浪微博数据中心_Python爬虫框架Scrapy实战之批量抓取招聘信息