前言
现在不管是大公司还是小公司,去面试都会问到 MySQL 数据库的知识,大家面试的时候这方面的知识一定要提前做好储备。
小编分享的这份2022年Java秋招备战面试题总计有1000多道面试题,包含了MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Java 并发编程、Java基础、Spring、微服务、Linux、Spring Boot 、Spring Cloud、RabbitMQ、kafka等16个专题技术点,都是小编在今年金三银四总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家!【已完结】
序号 | 专题技术 | 内容 | 地址 |
---|---|---|---|
1 | MyBatis | Mybatis面试题 | https://cloud.tencent.com/developer/article/2026189 |
2 | ZooKeeper | ZooKeeper面试题 | https://cloud.tencent.com/developer/article/2026909 |
3 | Dubbo | Dubbo面试题 | https://cloud.tencent.com/developer/article/2030747 |
4 | Elasticsearch | Elasticsearch 面试题 | https://cloud.tencent.com/developer/article/2038018 |
5 | Memcached | Memcached面试题 | https://cloud.tencent.com/developer/article/2038059 |
6 | Redis | Redis 面试题 | https://cloud.tencent.com/developer/article/2038092 |
7 | MySQL | MySQL 面试题 | https://cloud.tencent.com/developer/article/2038404 |
8 | Java并发编程 | Java并发编程面试题 | https://cloud.tencent.com/developer/article/2038457 |
9 | Java基础 | Java基础面试题 | https://cloud.tencent.com/developer/article/2038534 |
10 | Spring | Spring面试题 | https://cloud.tencent.com/developer/article/2038575 |
11 | 微服务 | 微服务面试题 | https://cloud.tencent.com/developer/article/2044898 |
12 | Linux | Linux面试题 | https://cloud.tencent.com/developer/article/2044899 |
13 | Spring Boot | Spring Boot面试题 | https://cloud.tencent.com/developer/article/2044900 |
14 | Spring Cloud | Spring Cloud面试题 | https://cloud.tencent.com/developer/article/2044901 |
15 | RabbitMQ | RabbitMQ面试题 | https://cloud.tencent.com/developer/article/2044925 |
16 | kafka | kafka面试题 | https://cloud.tencent.com/developer/article/2044953 |
1、MySQL中有哪几种锁?
1、表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
3、页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。
2、MySQL中有哪些不同的表格?
共有 5 种类型的表格:
- MyISAM
- Heap
- Merge
- INNODB
- ISAM
3、简述在MySQL数据库中MyISAM和InnoDB的区别
MyISAM:
- 不支持事务,但是每次查询都是原子的;
- 支持表级锁,即每次操作是对整个表加锁;
- 存储表的总行数;
一个 MYISAM 表有三个文件:索引文件、表结构文件、数据文件;
采用菲聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。
InnoDb:
- 支持 ACID 的事务,支持事务的四种隔离级别;
- 支持行级锁及外键约束:因此可以支持写并发;
不存储总行数:
一个 InnoDb 引擎存储在一个文件空间(共享表空间,表大小不受操作系统控制,一个表可能分布在多个文件里),也有可能为多个(设置为独立表空,表大小受操作系统文件大小限制,一般为 2G),受操作系统文件大小的限制;
主键索引采用聚集索引(索引的数据域存储数据文件本身),辅索引的数据域存储主键的值;因此从辅索引查找数据,需要先通过辅索引找到主键值,再访问辅索引;最好使用自增主键,防止插入数据时,为维持 B 树结构,文件的大调整。
4、MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?
5、CHAR和VARCHAR的区别?
6、主键和候选键有什么区别?
7、myisamchk是用来做什么的?
8、如果一个表有一列定义为TIMESTAMP,将发生什么?
9、你怎么看到为表格定义的所有索引?
索引是通过以下方式为表格定义的:
代码语言:javascript复制SHOW INDEX FROM <tablename>;
10、LIKE声明中的%和_是什么意思?
11、列对比运算符是什么?
在 SELECT 语句的列比较中使用=,<>,<=,<,> =,>,<<,>>,<=>,AND,OR 或 LIKE 运算符。
12、BLOB和TEXT有什么区别?
13、MySQL_fetch_array和MySQL_fetch_object的区别是什么?
14、MyISAM表格将在哪里存储,并且还提供其存储格式?
15、MySQL如何优化DISTINCT?
16、如何显示前50行?
在 MySQL 中,使用以下代码查询显示前 50 行:
代码语言:javascript复制SELECT*FROM
LIMIT 0,50;
17、可以使用多少列创建索引?
任何标准表最多可以创建 16 个索引列。
18、NOW()和CURRENT_DATE()有什么区别?
19、什么是非标准字符串类型?
20、什么是通用SQL函数?
1、CONCAT(A, B) – 连接两个字符串值以创建单个字符串输出。通常用于将两个或多个字段合并为一个字段。
21、MySQL支持事务吗?
22、MySQL里记录货币用什么字段类型好
23、MySQL有关权限的表都有哪几个?
24、列的字符串类型可以是什么?
字符串类型是:
1、SET
2、BLOB
3、ENUM
4、CHAR
5、TEXT
25、MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
26、锁的优化策略
27、索引的底层实现原理和优化
28、什么情况下设置了索引但无法使用
29、实践中如何优化MySQL
30、优化数据库的方法
31、简单描述MySQL中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)
32、数据库中的事务是什么?
事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。
33、SQL注入漏洞产生的原因?如何防止?
34、为表中得字段选择合适得数据类型
35、存储时期
36、对于关系型数据库而言,索引是相当重要的概念,请回答有关索引的几个问题:
4、什么情况下不宜建立索引?
- 对于查询中很少涉及的列或者重复值比较多的列,不宜建立索引。
- 对于一些特殊的数据类型,不宜建立索引,比如文本字段(text)等
37、解释MySQL外连接、内连接与自连接的区别
38、Myql中的事务回滚机制概述
39、SQL语言包括哪几部分?每部分都有哪些操作关键字?
40、完整性约束包括哪些?
41、什么是锁?
42、什么叫视图?游标是什么?
43、什么是存储过程?用什么来调用?
44、如何通俗地理解三个范式?
缺点:数据冗余以及数据异常,数据得修改需要更多的成本
45、什么是基本表?什么是视图?
答:基本表是本身独立存在的表,在 SQL 中一个关系就对应一个表。 视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表
46、试述视图的优点?
答:
(1) 视图能够简化用户的操作
(2) 视图使用户能以多种角度看待同一数据;
(3) 视图为数据库提供了一定程度的逻辑独立性;
(4) 视图能够对机密数据提供安全保护。