MySQL程序员面试笔试宝典
作者: 猿媛之家组编 李华荣等编著
出版时间:2020年版
内容简介
《MySQL程序员面试笔试宝典》是一本讲解MySQL程序员面试笔试的百科书,在写法上,除了讲解如何解答MySQL程序员面试笔试问题以外,还引入了相关知识点辅以说明,让读者能够更加容易地理解。 该书将MySQL程序员面试笔试过程中各类知识点一网打尽,在广度上,通过各种渠道,搜集了近3年来典型IT企业针对MySQL数据库岗位的笔试面试涉及的知识点,包括但不限于MySQL数据库、计算机网络、操作系统等,所选择真题均为企业招聘使用题目。在讲解的深度上,该书由浅入深地分析每一个知识点,并提炼归纳,同时,引入相关知识点,加以深度剖析,让读者不仅能够理解这个知识点,还能在遇到相似问题的时候,也能游刃有余地解决,而这些内容是其他同类书籍所没有的。该书对知识点进行归纳分类,结构合理,条理清晰,对于读者进行学习与检索意义重大。 该书是一本计算机相关专业毕业生面试、笔试的求职用书,同时也适合期望在计算机软、硬件行业大显身手的计算机爱好者阅读。
目录
前言
上篇 面试笔试经验技巧篇
第1章 求职经验分享2
1.1 踩别人没有踩过的坑,走别人没有走过的路2
1.2 只要肯钻研,就能求职成功3
1.3 普通DBA的逆袭经验4
第2章 数据库程序员的求职现状6
2.1 当前市场对于数据库程序员的需求如何?待遇如何?6
2.2 数据库程序员有哪些可供选择的职业发展道路?7
2.3 当企业在招聘时,对数据库程序员通常有何要求?7
2.4 数据库程序员的日常工作是什么?9
2.5 要想成为一名出色的数据库程序员,需要掌握哪些必备的知识?10
2.6 各类数据库求职及市场使用情况12
第3章 如何应对程序员面试笔试?14
3.1 如何巧妙地回答面试官的问题?14
3.2 如何回答技术性问题?15
3.3 如何回答非技术性问题?17
3.4 在被企业拒绝后是否可以再申请?17
3.5 如何应对自己不会回答的问题?18
3.6 如何应对面试官的“激将法”语言?18
3.7 如何处理与面试官持不同观点这个问题?19
3.8 什么是职场暗语?19
下篇 面试笔试经验技巧篇
第4章 数据库基本理论24
4.1 什么是范式和反范式?24
4.2 事务的概念及其4个特性是什么?35
4.3 事务的常见分类有哪些?36
4.4 什么是XA事务?37
4.5 事务的4种隔离级别(Isolation Level)分别是什么?38
4.6 Oracle、MySQL和SQL Server中的事务隔离级别分别有哪些?40
4.7 什么是CAP定理(CAP theorem)?43
第5章 基础部分45
5.1 MySQL数据库有什么特点?45
5.2 如何确定MySQL是否处于运行状态?如何开启MySQL服务?46
5.3 如何获取表内所有列的名称和类型?47
5.4 如何创建表?如何删除表?48
5.5 如何创建和删除数据库?52
5.6 如何查看当前数据库里有哪些用户?53
5.7 如何查看创建的索引及索引类型等信息?53
5.8 如何查看数据库的版本、当前登录用户和当前的数据库名称?54
5.9 MySQL有哪些常用日期和时间函数?55
5.10 MySQL有哪些数据类型?57
5.11 MySQL中limit的作用是什么?69
5.12 如何对一张表同时进行查询和更新?70
5.13 MySQL中如何在表的指定位置添加列?70
5.14 MySQL中LENGTH和CHAR_LENGTH的区别是什么?71
5.15 函数FROM_UNIXTIME和UNIX_TIMESTAMP的作用分别是什么?71
5.16 真题72
第6章 维护79
6.1 在MySQL中,如何查看表的详细信息,例如存储引擎、行数、
更新时间等?79
6.2 如何管理MySQL多实例?81
6.3 什么是间隙(Next-Key)锁?83
6.4 MySQL有哪些命令可以查看锁?83
6.5 MySQL中SQL Mode的作用是什么?91
6.6 什么是MySQL的套接字文件?94
6.7 如何查看和修改系统参数?95
6.8 查看当前使用的配置文件my.cnf的方法和步骤有哪些?97
6.9 MySQL有哪几类日志文件?99
6.10 MySQL支持事务吗?105
6.11 如何提高MySQL的安全性?107
6.12 什么是MySQL的复制(Replication)?108
6.13 Oracle和MySQL中的分组(GROUP BY)问题110
6.14 MySQL的分区表115
6.15 MySQL有几种存储引擎(表类型)?各自有什么区别?117
6.16 如何批量更改MySQL引擎?128
6.17 MySQL InnoDB引擎类型的表有哪两类表空间模式?它们各有什么
优缺点?129
6.18 MySQL有哪几个默认数据库?130
6.19 MySQL区分大小写吗?132
6.20 MySQL中的字符集132
6.21 如何解决MySQL中文乱码问题?136
6.22 MySQL原生支持的备份方式及种类有哪些?136
6.23 真题139
第7章 索引152
7.1 MySQL中的索引有哪些分类?152
7.2 MySQL中索引的使用原则有哪些?152
7.3 什么是覆盖索引?154
7.4 什么是哈希索引?154
7.5 什么是自适应哈希索引(Adaptive Hash Index)?156
7.6 什么是前缀索引?157
7.7 什么是全文(FULLTEXT)索引?158
7.8 什么是空间(SPATIAL)索引?161
7.9 为什么索引没有被使用?162
7.10 真题163
第8章 优化171
8.1 MySQL如何查看执行计划?执行计划中每列的含义分别是什么?171
8.2 使用show profile分析SQL语句性能消耗179
8.3 MySQL中CHECK、OPTIMIZE和ANALYZE的作用分别是什么?182
8.4 如何对MySQL进行优化?183
8.5 如何对SQL语句进行跟踪(trace)?188
8.6 MySQL中的隐式类型转换(Implicit type conversion)189
8.7 常见的SQL Hint(提示)有哪些?191
8.8 如何查看SQL的执行频率?191
8.9 如何定位执行效率较低的SQL语句?192
8.10 如何对MySQL的大表优化?192
第9章 操作系统194
9.1 进程管理194
9.1.1 进程与线程有什么区别?194
9.1.2 内核线程和用户线程的区别?195
9.2 内存管理195
9.2.1 内存管理有哪几种方式?195
9.2.2 什么是虚拟内存?196
9.2.3 什么是内存碎片?什么是内碎片?什么是外碎片?197
9.2.4 虚拟地址、逻辑地址、线性地址、物理地址有什么区别?197
9.2.5 Cache替换算法有哪些?198
9.3 用户编程接口199
9.3.1 库函数调用与系统调用有什么不同?199
9.3.2 静态链接与动态链接有什么区别?200
9.3.3 静态链接库与动态链接库有什么区别?200
第10章 计算机网络与通信201
10.1 网络模型201
10.1.1 OSI七层模型是什么?201
10.1.2 TCP/IP模型是什么?202
10.1.3 B/S与C/S有什么区别?203
10.2 网络设备203
10.2.1 交换机与路由器有什么区别?203
10.2.2 路由表的功能有哪些?204
10.3 网络协议205
10.3.1 TCP和UDP的区别有哪些?205
10.3.2 什么是ARP/RARP?205
10.3.3 IP Phone的原理是什么?都用了哪些协议?206
10.3.4 Ping命令是什么?206
10.3.5 基本的HTTP流程有哪些?207
10.4 网络其他问题207
10.4.1 常用的网络安全防护措施有哪些?207
10.4.2 相比IPv4,IPv6有什么优点?209