2022年Java秋招面试,让你怀疑人生的MySQL夺命连环问

309 阅读7分钟

前言

现在不管是大公司还是小公司,去面试都会问到 MySQL 数据库的知识,大家面试的时候这方面的知识一定要提前做好储备。

小编分享的这份2022年Java秋招备战面试题总计有1000多道面试题,包含了MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Java 并发编程、Java基础、Spring、微服务、Linux、Spring Boot 、Spring Cloud、RabbitMQ、kafka等16个专题技术点,都是小编在今年金三银四总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家!【已完结】

序号专题技术内容地址
1MyBatisMybatis面试题juejin.cn/post/711014…
2ZooKeeperZooKeeper面试题juejin.cn/post/711126…
3DubboDubbo面试题juejin.cn/post/711355…
4ElasticsearchElasticsearch 面试题juejin.cn/post/711540…
5MemcachedMemcached面试题juejin.cn/post/711903…
6RedisRedis 面试题juejin.cn/post/711903…
7MySQLMySQL 面试题juejin.cn/post/711903…
8Java并发编程Java并发编程面试题juejin.cn/post/711903…
9Java基础Java基础面试题juejin.cn/post/711903…
10SpringSpring面试题juejin.cn/post/711904…
11微服务微服务面试题juejin.cn/post/711904…
12LinuxLinux面试题juejin.cn/post/711904…
13Spring BootSpring Boot面试题juejin.cn/post/711904…
14Spring CloudSpring Cloud面试题juejin.cn/post/711904…
15RabbitMQRabbitMQ面试题juejin.cn/post/711904…
16kafkakafka面试题juejin.cn/post/711904…

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、你怎么看到为表格定义的所有索引?

索引是通过以下方式为表格定义的:

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 行:

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) 视图能够对机密数据提供安全保护。

47、 NULL是什么意思

48、主键、外键和索引的区别?

49、你可以用什么来确保表格里的字段只接受特定范围里的值?

50、说说对SQL语句优化有哪些方法?(选择几条)