“68道 Redis+168道 MySQL”精品面试题(带解析),你背废了吗?

Windows环境Oracle19C安装与配置全攻略 本文详细介绍了在Windows环境下安装与配置Oracle19C数据库的完整流程,包括环境准备、安装步骤、网络配置、客户端工具设置及常见问题解决方案。特别针对Windows 10和Windows Server 2016及以上版本提供了优化建议,帮助用户高效完成Oracle19C的部署与维护。 阅读详情

redis和mysql的区别总结
(1)类型上
从类型上来说,mysql是关系型数据库,redis是缓存数据库
(2)作用上
mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢
redis用于存储使用较为频繁的数据到缓存中,读取速度快
(3)需求上
mysql和redis因为需求的不同,一般都是配合使用。

一谈起 Redis 和 MySQL,皆是广大 程 序 猿(媛)朋友面试跳槽必踩的两个坑。那么,关于Redis与MySQL,面试官最爱问哪些问题呢?不知道也不用慌,我已整理了这“68道 Redis+168道 MySQL” 精品面试题(带解析),背完我感觉自己又行了!

68道 Redis精品面试题(带解析)

刷Redis面试题之前,给大家梳理一下整个Redis架构的知识,顺带手绘了一版xmind的架构脑图,不过原件无法直接上传,上面直接截图展现!

内容偏多,若要参考这份Redis的架构脑图xmind版(以及后面MySQL的架构脑图xmind版,Redis+MySQL的面试题与解析等)原件,皆可分享学习(free!!),文末有领取方式!!

第一部分: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面试题,如若在不看答案的情况下,试问自己可以答出多少?

好了,不卖关子了,解析总共有25页内容太多无法一次性写完在一篇文章里,但是已经整理成如下的文档(文档可分享,怎么领在文末)!!

168道 MySQL精品面试题(带解析)

先梳理一遍MySQL知识,如下图(手绘版xmind架构脑图,原件无法上传,截图展现)

第一部分: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%分享一并学习!

码字整理不易,还请各位认可的朋友转发支持一波!!

祝愿大家前程似锦,offer不断!!Fighting!!Fighting!!

柔性OLED屏幕绿线故障的激光修复技术解析 OLED显示技术作为新一代显示方案,其主动矩阵驱动原理通过TFT背板控制每个像素的发光。在柔性屏幕应用中,微米级数据线路的物理损伤会导致显示异常,表现为贯穿屏幕的绿线故障。激光微焊技术凭借其微米级加工精度,成为修复这类精密电路损伤的理想方案。该技术通过纳秒级脉冲激光实现金属线路的精准重熔,在手机维修、显示面板制造等领域具有重要应用价值。特别是在折叠屏、曲面屏等柔性显示设备维修中,激光修复技术能有效解决因反复弯折导致的数据线断裂问题,配合光学定位系统和参数优化,修复成功率可达85%以上。 阅读详情

相关推荐

Python逆向爬取Tik Tok,MsToken,X-Bogus以及signature

tiktok作为字节海外的自媒体平台,具有很非常大的价值,本文旨在教会大家实现Tik Tok的签名获取以及数据的最终爬取。

weixin_74305707的博客 3272

MySQL和Redis的面经

总结2024年中50+场次的真实面试过程中的被问到的MySQL和Redis的真实面试问题

ALQing_的博客 1091

PyTorch实战:3D U-Net医学图像分割从零搭建(附完整代码)

本文详细介绍了如何使用PyTorch从零搭建3D U-Net模型进行医学图像分割,涵盖三维卷积实现、模块化架构设计、医学图像专属优化策略及完整训练流程。通过实战代码演示,帮助开发者掌握UNet-3D在CT、MRI等三维医学图像分割中的应用,提升肝脏肿瘤分割、肺结节检测等任务的准确性。

weixin_29061997的博客 330

MySQL/Redis 常见面试题汇总

1、常见数据库引擎和区别 Innodb 支持行锁/表锁,支持事物,支持外键,不支持全文索引 【很多企业默认使用Innodb】 MyIsam 不支持行锁/支持表锁,不支持外键,不支持事物,支持全文索引 2、MySQL事务及其特性 原子性(Atomicity): 一个事物所有操作全部完成或失败 一致性(Consistency): 事务开始和结束之后完整性没有被破坏 隔离性(Isolation): 允许多个事物同时对数据库修改和读写 永久性(Durablity): 事物提交之后,修改之后是永久不..

李俊的博客 1357

从零开始搭建属于自己的语音识别API服务器(ASRT开源项目)

材料准备 云服务器 (本人使用的的是阿里云服务器 Ubuntu(Linux操作系统)) 环境搭建 1. Python 3.7 话不多说直接上代码 sudo su yum -y install git yum -y install gcc yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-deve

zhi_qian的博客 5648

Aras Innovator生命周期图实战:从配置到权限管理的全流程解析

本文详细解析了Aras Innovator生命周期图的全流程配置与权限管理,从基础概念到实战应用,涵盖状态设置、路径配置、权限控制等核心功能。通过实际案例和代码示例,帮助用户掌握如何高效管理数据生命周期,提升业务流程的规范性和效率。

ee345的博客 169

“68 道 Redis+168 道 MySQL”精品面试题(带解析),你背废了吗?

谈起 Redis 和 MySQL,皆是广大 程 序 猿(媛)朋友面试跳槽必踩的两个坑。那么,关于 Redis 与 MySQL,面试官最爱问哪些问题呢?不知道也不用慌,我已整理了这速来试试你 背 “废” 了吗?

m0_67698950的博客 209

179、瑞芯微RK3588在边缘盒子中的多摄同步架构——基于PLL的帧同步与曝光同步的实测调优

第一,RK3588的多摄同步,硬件上确实支持,但软件配置的坑比想象的多。第三,传感器的tPD差异是最大的不确定因素,选型时尽量选同一批次,而且要在量产前做全温测试——我遇到过低温下tPD变化超过3微秒的情况,直接导致同步失效。我遇到过一批IMX415,tPD差异达到±8微秒,直接超出SYNC控制器的补偿范围,最后只能挑芯片,把差异小的装到同一台设备里。别用100MHz,虽然分辨率更高,但高频信号在PCB走线上更容易引入EMI,边缘盒子的结构件往往没有很好的屏蔽,实测100MHz下同步信号边沿抖动明显增大。

zzfmlxs的博客 39

金九银十!“68道 Redis+168道 MySQL”精品面试题(带解析),你背废了吗?

谈起 Redis 和 MySQL,皆是广大 程 序 猿(媛)朋友面试跳槽必踩的两个坑。那么,关于Redis与MySQL,面试官最爱问哪些问题呢?不知道也不用慌,我已整理了这速来试试你 背 “废” 了吗?

weixin_66896902的博客 171

LPDDR6 技术标准详解(JESD209-6)

是继 LPDDR5/5X 之后的新一代低功耗 DRAM 标准,专为满足移动终端、AI、边缘计算等高带宽、低功耗场景而设计。该标准通过全新架构、动态功耗控制机制和增强型数据完整性机制,实现性能、能效与可靠性的全面升级。LPDDR6 并非仅是速度升级,更是内存架构设计思路的演进,围绕“低功耗 + 高带宽 + 强安全”的三维目标,构建下一代 SoC 平台关键基础。✅ 高带宽:支持 32B/64B 动态突发✅ 低功耗:动态电压、通道切换✅ 高可靠性:ECC + 自测试 + 安全区。

weixin_43199439的博客 2590

iStoreOS等软路由插件卸载的残留?分享一款软路由高级卸载工具,自定义卸载,轻松解决卸载残留问题

iStoreOS用户看过来!👀 还在被插件包残留困扰吗?本文分享一款“高级卸载”的插件,助你深度清理iStoreOS系统,彻底解决软件卸载不净的痛点,告别频繁恢复出厂设置的烦恼!🚀

XiaoqiangClub的博客 1547
上一篇: 最强“高并发”系统设计 46 连问,助你斩获高薪offer
下一篇: 我不写单元测试,被批了
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值