写点什么

有了这份 MySQL 调优笔记,再也不怕公司筛选了(附 Java 岗面试题)

用户头像
马小轩
关注
发布于: 1 小时前
有了这份MySQL调优笔记,再也不怕公司筛选了(附Java岗面试题)

作为一名编程人员,MySQL 是工作上最常用的关系型数据库之一。但随着移动互联网的高速发展,集群架构已经成为主流趋势,对于数据库的高并发,高可用等指标的要求也越来越高。应聘者是否具备相应的底层机制和原理的驾驭能力,成为了互联网公司筛选人才的重要考核标准。如果只停留在建库、创表、增删查改等基本操作的水平,迟早会被企业淘汰掉。今天这份最全的 MySQL 调优笔记总结,助你向大厂“开炮”,面试不再被 MySQL 难倒。

 MySQL 思维脑图

MySQL 思维脑图

一 基础篇:(由于分享笔记内容过多,知识内容比较全面,篇幅受限,只能以截图形式展示,面试题在下方,文末有领取方式)

第 1 章 MySQL 基本介绍

第 2 章 MySQL 架构组成

第 3 章 MySQL 存储引擎简介

第 4 章 MySQL 安全管理

第 5 章 MySQL 备份与恢复





MySQL 面试题(基础部分):

  • drop、truncate、 delete 区别

  • 数据库三范式是什么?

  • union 和 union all 有什么不同?

  • char、varchar2、varchar 有什么区别?

  • 合并查询有哪些?

  • SQL 语句执行顺序

  • null 的含义

  • MySQL、SqlServer、oracle 写出字符存储、字符串转时间

  • update 语句可以修改结果集中的数据吗?

  • B 树和 B+树的区别

  • 你见过索引吗? 建索引的原则

  • 索引的类型, 如主键索引

  • 查看 SQL 执行计划

  • 有十万条数据, 写 SQL 语句查询其中某字段较大值的几条数据

  • 子查询与关联查询的区别

  • MySQL InnoDB、Mysaim 的特点?

  • 乐观锁和悲观锁的区别??

  • 行锁和表锁的区别?

  • 数据库隔离级别是什么?有什么作用?

  • MySQL 主备同步的基本原理。

  • 如何优化数据库性能(索引、分库分表、批量操作、分页算法、升级硬盘 SSD、业务优化、主从部署)

  • SQL 什么情况下不会使用索引(不包含,不等于,函数)

  • 一般在什么字段上建索引(过滤数据最多的字段)

  • MySQL,B+索引实现,行锁实现,SQL 优化

  • 如何解决高并发减库存问题

  • 数据库事务的几种粒度

“不会 MySQL,干啥都不行”?在高级开发:工作、面试处处都会踩坑:

在说起 MySQL,我想每一个开发者都不会陌生,作为一个超 80% 开发者都在使用的数据库,几乎所有一线大厂,都在用!多数人只掌握了一些皮毛。但是在我使用 MySQL 将近 20 年的过程中,我经常能看到很多程序员和我当年一样,有很多共性问题,比如:

我最开始工作面试的时候,天真的以为会写“增删改查”、做表关联就足够了,可悲催的是一道面试题也没做出来。

面试中提到的 “如何提高 MySQL 性能?”、“如何处理高并发数据?”这种工作中的高频问题,别说做了,连听都没有听过!你是否一样呢?

二 性能优化篇:

第 6 章影响 MySQLServer 性能的相关因素

第 7 章 MySQL 数据库锁定机制

第 8 章 MySQL 数据库 Query 的优化

第 9 章 MySQL 数据库 Schema 设计的性能优化

第 10 章 MySQLServer 性能优化

第 11 章常用存储引擎优化





2 MySQL 面试题(实战部分):

  • 数据库三范式,根据秒杀场景设计数据表

  • 数据库的主从复制

  • 死锁怎么解决

  • mysql 并发情况下怎么解决(通过事务、隔离级别、锁)

  • 触发器的作用?

  • 什么是存储过程?用什么来调用?

  • 存储过程的优缺点?

  • 存储过程与函数的区别

  • 索引的作用?和它的优点缺点是什么?

  • 什么样的字段适合建索引

  • 索引类型有哪些?

  • 什么是事务?什么是锁?

  • 什么叫视图?游标是什么?

  • 视图的优缺点

  • 列举几种表连接方式,有什么区别?

  • 主键和外键的区别?

  • 在数据库中查询语句速度很慢,如何优化?

  • 数据库三范式是什么?

  • Varchar2 和 varchar 有什么区别?

  • Oracle 和 Mysql 的区别?

  • order by 与 group by 的区别

三 架构设计篇:

第 12 章 MySQL 可扩展设计的基本原则

第 13 章可扩展性设计之 MySQLReplication

第 14 章可扩展性设计之数据切分

第 15 章可扩展性设计之 Cache 与 Search 的利用

第 16 章 MySQLCluster

第 17 章高可用设计之思路及方案

第 18 章高可用设计之 MySQL 监控







3 MySQL 面试题(高级进阶部分):

  • 请解释关系型数据库概念及主要特点?

  • 请说出关系型数据库的典型产品、特点及应用场景?

  • 请解释非关系型数据库概念及主要特点?

  • 请说出非关系型数据库的典型产品、特点及应用场景?

  • 请详细描述 SQL 语句分类及对应代表性关键字。

  • 请详细描述 char(4)和 varchar(4)的差别。

  • 如何授权 oldboy 用户从 172.16.1.0/24 访问数据库。

  • 什么是 MySQL 多实例,如何配置 MySQL 多实例?

  • 如何加强 MySQL 安全,请给出可行的具体措施?

  • delete 和 truncate 删除数据的区别?

  • MySQL Sleep 线程过多如何解决?

  • sort_buffer_size 参数作用?如何在线修改生效?

  • 如何在线正确清理 MySQL binlog?

  • Binlog 工作模式有哪些?各什么特点,企业如何选择?

  • 误操作执行了一个 drop 库 SQL 语句,如何完整恢复?

  • mysqldump 备份使用了-A -B 参数,如何实现恢复单表?

  • 详述 MySQL 主从复制原理及配置主从的完整步骤。

  • 如何开启从库的 binlog 功能?

  • MySQL 如何实现双向互为主从复制,并说明应用场景?

  • MySQL 如何实现级联同步,并说明应用场景?

  • MySQL 主从复制故障如何解决?

  • 如何监控主从复制是否故障?

  • MySQL 数据库如何实现读写分离?

  • 生产一主多从从库宕机,如何手工恢复?

文中所有资料都已整理成文档,都是免费分享给有需要学习和进阶的朋友。需要获取资料文档的朋友 可以关注+转发后点击这里免费领取

MySQL 面试答案与解析:


总结

学习是自己的事,作为开发人员,MySQL 是必须要掌握的,如果拥有大厂梦,基础可不能太差,如果你对 MySQL 还有很多不解问题,那么这份 MySQL 总结大礼包一定要拥有!

发布于: 1 小时前阅读数: 4
用户头像

马小轩

关注

还未添加个人签名 2021.06.25 加入

还未添加个人简介

评论

发布
暂无评论
有了这份MySQL调优笔记,再也不怕公司筛选了(附Java岗面试题)