共计 3681 个字符,预计需要花费 10 分钟才能阅读完成。
我把所有 Java 相干的面试题和答案都整顿成了 PDF,并且带书签目录,浏览起来十分不便
面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645
面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645
面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645
1. 列值为 NULL 时,查问是否会用到索引?
在 MySQL 里 NULL 值的列也是走索引的。当然,如果打算对列进行索引,就要尽量避免把它设置为可空,MySQL 难以优化援用了可空列的查问, 它会使索引、索引统计和值更加简单。
2. 说一说三个范式
第一范式(1NF): 数据库表中的字段都是繁多属性的,不可再分。这个繁多属性由根本类型形成,包含整型、实数、字符型、逻辑型、日期型等。
第二范式(2NF): 数据库表中不存在非关键字段对任一候选关键字段的局部函数依赖(局部函数依赖指的是存在组合关键字中的某些字段决定非关键字段的状况),也即所有非关键字段都齐全依赖于任意一组候选关键字。
第三范式(3NF): 在第二范式的根底上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则合乎第三范式。所谓传递函数依赖,指的是如 果存在 ”A → B → C” 的决定关系,则 C 传递函数依赖于 A。因而,满足第三范式的数据库表应该不存在如下依赖关系:关键字段 → 非关键字段 x → 非关键字段 y
3. innodb 引擎的个性
- 插入缓冲(insert buffer)
- 二次写 (double write)
- 自适应哈希索引 (ahi)
- 预读 (read ahead)
4. 下面提到了 B + 树在满足聚簇索引和笼罩索引的时候不须要回表查问数据, 什么是聚簇索引?
在 B + 树的索引中, 叶子节点可能存储了以后的 key 值, 也可能存储了以后的 key 值以及整行的数据, 这就是聚簇索引和非聚簇索引. 在 InnoDB 中, 只有主键索引是聚簇索引, 如果没有主键, 则筛选一个惟一键建设聚簇索引. 如果没有惟一键, 则隐式的生成一个键来建设聚簇索引.
当查问应用聚簇索引时, 在对应的叶子节点, 能够获取到整行数据, 因而不必再次进行回表查问.
5. 你们数据库是否反对 emoji 表情,如果不反对,如何操作?
如果是 utf8 字符集的话,须要降级至 utf8_mb4 方可反对
前面的问题,大家能够先本人独立思考一下。
另外我把所有 Java 相干的面试题和答案都整理出来了,给大家参考一下
面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645
面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645
面试题及答案 PDF 下载 :https://www.hicxy.com/?p=2645