MySQL 面试必备 8 个知识点

2019 年 10 月 8 日 CSDN

上周末和在北京的哥们国仔涮火锅,席间聊起了最近面试的经历。

他说想换工作的原因很简单,就是要涨工资,原来的公司呆了两年多,薪资浮动不超过 500 元。而身边跳槽的那些同事,薪资都已经是自己的 2 倍了。

在准备面试的过程中,国仔坦言道还蛮辛酸的。

白天要上班敲代码,晚上甚至会加班,导致搜集面试题目的时间都没有,而且网上好多都是千篇一律的搬来搬去的文章,感觉面试官都不屑于问到类似的问题。

工作后整个人都有点懒了,知道怎么用代码实现却不再关注为什么要这么使用。但是面试时候好像更关注 why 多于 how。有些问题甚至工作时都没遇到过。

说到这儿,国仔已经吃完了一盘羊肉,镜片被热气蒙上了一层薄薄的雾。国仔取下眼镜一边用衣角擦拭,一边继续念叨:

我觉得获得高薪的关键:就是高效的准备面试。如果当初有个人能给我一份总结好的面试锦囊,我就不至于慌成那样。

对于程序员来说,面试内容一般分为两个部分:编程面试题部分 + 数据库面试题部分

据不完全调查,作为数据库中的主流选择 MySQL 的薪资待遇正在逐年增加,而且似乎不仅仅是程序员在学,就连很多产品经理和运营人也开始学习 MySQL 去分析数据。

△图来自猎聘网

为了让大家能避开国仔面试时的苦恼,我们特意邀请到两位有着 10 年工作经验的技术老兵,前前后后大概花了三个多月的时间,改了 6 个版本,最终形成了这套 MySQL 面试题,来帮助准备面试的朋友们。

内容介绍

对于技术面试来说,考察的核心包含以下两个特点:
  1. 考察的知识点广,因为不同的公司和不同的面试官技能知识结构是不同的,所以所关注的问题和面试内容也是不同的,所以具备面试知识点广的特点;
  2. 考察的知识点较深入,以阿里巴巴为例,这些大厂的面试都是类似的,通常从一个大的面试点切入,然后层层深入,直到问到你不会为止,比如,你了解哪些数据库引擎?这个数据库引擎的特点是什么?这个数据库引擎是如何存储数据的?为什么要采用这种存储方式?等等。

所以针对以上两个问题,作者结合自己 10 余年的工作和面试的经验,经过讨论和修改,最终制定了八大模块,汇总并介绍 MySQL 中的典型面试问题,它包含的内容如下。

  • 第一部分: 通用模块。 此部分对 MySQL 整体概念、执行流程、数据库引擎、查询缓存、表空间、回表查询、数据类型间的区别、内存表、临时表、删除表的 n 种方式、枚举、视图、数据恢复等相关知识点对应的面试题进行解答。
  • 第二部分: 索引模块。 索引的好坏直接影响数据库的性能,所以索引的面试题也是面试中必问的问题,此部分为索引对应的面试题合集。
  • 第三部分:事务模块。 事务决定了程序的稳定性,在 MySQL 中的地位也是首屈一指,也是面试中必问的面试题,此部分为事务对应的面试题合集。
  • 第四部分:锁。 锁包括:全局锁、表锁、行锁、死锁、乐观锁、悲观锁等,不同的数据库引擎支持的锁支持粒度也是不同的,此部分的面试题,让你彻底搞定锁相关的面试题。
  • 第五部分:日志。 日志看似不起眼,却是 MySQL 主备同步和容灾恢复以及问题排除的关键,当然也是面试中必问的问题,这部分会对不同的数据库引擎中的重点日志,进行详细的介绍。
  • 第六部分:MySQL 操作命令和内置函数。 MySQL 的操作命令,对于程序员或者 DBA 来说也是必须具备的一项技能,比如,用户和权限的创建、数据库相关信息的查询等,都离不开对 MySQL 命令行的掌握。对内置函数的掌握程度,代表了你对 MySQL 的掌握程度,善用 MySQL 提供的内置函数,会让你有事半功倍的效果,内置函数也是笔试中必考的面试题。
  • 第七部分:性能优化和分布式。 性能优化和分布式是面试中决定你高度的关键指标,其中性能优化包括了慢查询的分析和处理,对分布式的掌握体现了你的技术深度。
  • 第八部分:开放性问题。 很多大公司最后也会问一下没有标准答案的开放性问题,以考察面试者的技术能力边界和对待问题的分析思路,这部分助你更平稳的获得 offer。
对应的知识图谱如下:

作者介绍

老王:资深面试官/阿里云社区认证专家

十余年编程从业经验,现上市公司技术研发经理,曾就职于 360,有着丰富的大型系统设计、开发和调优的经验,在不断探索和学习的过程中,积累了宝贵的编程与面试经验。

张建:十余年编程从业经验/现任上市公司项目经理

曾就职新华保险通讯事业部、汽车之家。有着丰富的工业制造系统、呼叫中心、互联网系统设计、开发和调优经验。

曾主导设计并参与了汽车之家二手车BU单体应用微服务化改造,有着丰富的微服务架构经验。

扫码查看《程序员的 MySQL 面试金典》


你能学到什么?

  • 扎实的 MySQL 基础:MySQL 内部执行流程、查询缓存、数据库引擎、表空间、表收缩、回表查询、删除数据恢复、视图、内存表和临时表的区别等。
  • 索引、事务、内置函数等模块的面试题汇总与解析。
  • 全局锁、表锁、行锁、死锁、乐观锁、悲观锁等面试题汇总与解析。
  • MySQL 中主从部署原理和容灾恢复的面试题和知识点解析。
  • MySQL 慢查询处理以及高性能方面的面试题汇总与解析。
  • MySQL 中开放性问题的汇总与解析。

适宜人群

  • 准备跳槽的后端工程师(初、中、高级)
  • 自学编程准备找工作的准程序员
  • 在校学生(大学生/研究生方向)

点击阅读原文,订阅 MySQL 专栏

登录查看更多
1

相关内容

面试是招聘、招生等的一个常见程序,指通过面谈来了解并评估应试者,来确定是否符合要求。
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
打怪升级!2020机器学习工程师技术路线图
专知会员服务
96+阅读 · 2020年6月3日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
254+阅读 · 2020年5月17日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
史上最全的 Pinterest 面试资料
九章算法
6+阅读 · 2019年9月5日
网上搜不到的Airbnb面试资料
九章算法
12+阅读 · 2019年8月22日
系统设计班 | 限时半价,随时报名随时观看
九章算法
9+阅读 · 2019年5月4日
春招已近,送你一份ML算法面试大全!
机器学习算法与Python学习
10+阅读 · 2019年2月22日
做机器学习和AI必备的42个数学知识点
AI前线
8+阅读 · 2018年12月6日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
2年Java经验,真的就拿不到30万年薪吗?
程序员观察
3+阅读 · 2018年4月8日
Arxiv
99+阅读 · 2020年3月4日
Arxiv
34+阅读 · 2019年11月7日
Arxiv
4+阅读 · 2018年11月6日
Arxiv
11+阅读 · 2018年9月28日
Arxiv
5+阅读 · 2018年3月6日
VIP会员
相关VIP内容
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
打怪升级!2020机器学习工程师技术路线图
专知会员服务
96+阅读 · 2020年6月3日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
254+阅读 · 2020年5月17日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
相关资讯
史上最全的 Pinterest 面试资料
九章算法
6+阅读 · 2019年9月5日
网上搜不到的Airbnb面试资料
九章算法
12+阅读 · 2019年8月22日
系统设计班 | 限时半价,随时报名随时观看
九章算法
9+阅读 · 2019年5月4日
春招已近,送你一份ML算法面试大全!
机器学习算法与Python学习
10+阅读 · 2019年2月22日
做机器学习和AI必备的42个数学知识点
AI前线
8+阅读 · 2018年12月6日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
2年Java经验,真的就拿不到30万年薪吗?
程序员观察
3+阅读 · 2018年4月8日
相关论文
Arxiv
99+阅读 · 2020年3月4日
Arxiv
34+阅读 · 2019年11月7日
Arxiv
4+阅读 · 2018年11月6日
Arxiv
11+阅读 · 2018年9月28日
Arxiv
5+阅读 · 2018年3月6日
Top
微信扫码咨询专知VIP会员