java面试八股文之mysql

后端面试八股文骚套路之Java基础 一年一度的秋招大戏又快拉开序幕了,近年来后端岗位越来越卷,毕业生的压力也越来越大。个人感觉目前各个大中厂校招面试不好的地方是,都在朝着背面试八股文的方向发展(曾经面试某二线厂,对着面试官纯背了 40 分钟概念),但不得不承认这也是企业在短时间内筛选面试者的一个重要手段。 为了帮助大家了解后端面试八股文应该怎么背,特此推出面试八股文画重点系列(包含的内容有 Java 基础、JVM、MySQL、Redis、操作系统、计算机网络、设计模式)。希望能帮助到 Java 基础不是很好的同学能快速的准备好面试八股文。. 阅读详情

1.在MYsql中,如何定位慢查询?
答:慢查询在项目中的表象:页面加载过慢,接口压测响应时间过长(超过1s)。

如何定位?

方案一:使用开源工具。调试工具Arthas,运维工具Prometheus、Skywalking等。

答:因为我们当时的系统部署了运维的监控系统Skywalking ,在展示的报 表中可以看到是哪一个接口比较慢,并且可以分析这个接口哪部分比较慢, 这里可以看到SQL的具体的执行时间,所以可以定位是哪个sql出了问题。

方案二:MYsql自带的慢日志查询。

答:可以在MySQL的系统配置文件中开启这个慢日志的功能,并且也 可以设置SQL执行超过多少时间来记录到一个日志文件中,我记得上一个项 目配置的是2秒,只要SQL执行的时间超过了2秒就会记录到日志文件中,我 们就可以在日志文件找到执行比较慢的SQL了。

原理:

慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有SQL语句的日志,如果要开启慢查询日志,需要在MYsql的配置文件(/etc/my.cnf)中配置如下信息:

配置完毕后,通过以下指定重新启动MYsql服务器进行测试,查看慢日志文件中记录的信息/var/lib/mysql/localhost-slow.log。

2.那这个SQL语句执行很慢,你是如何分析的呢?
答:我们可以通过SQL的执行计划找到慢的原因,可能是聚合查询、多表查询、表数据量过大查询的原因。还有一种可能,深度分页查询,后面涉及到覆盖索引的时候再说。

采用SQL的执行计划分析SQL语句的方法:

执行计划就是采用EXPLAN或者DESC命令获取MYsql如何执SELECT语句的信息

语法:

例如:

 * possible_key  :当前sql可能会使用到的索引

* key  :当前sql实际命中的索引

* key_len  : 索引占用的大小

通过key和key_len他们两个查看是否可能会命中索引

* Extra  : 额外的优化建议

 * type  :这条sql的连接类型,性能由好到差为null、system、const、eq_ref、ref、range、Index、all

null:表示没有使用到表

system:表示查询系统中的表

const:根据主键查询

eq_ref: 主键索引查询或唯一索引查询

ref:索引查询

range:范围查询

index:索引树扫描

all:全盘扫描

3.了解过索引吗?(什么是索引?)
答:索引在项目中还是比较常见的,它是帮助MySQL高效获取数据 的数据结构,主要是用来提高数据检索的效率,降低数据库的IO成本,同时 通过索引列对数据进行排序,降低数据排序的成本,也能降低了CPU的消耗。

4.索引的底层数据结构了解过嘛 ?
答:MySQL的默认的存储引擎InnoDB采用的B+树的数据结构来存储索 引,选择B+树的主要的原因是:第一阶数更多,路径更短,第二个磁盘读写 代价B+树更低,非叶子节点只存储指针,叶子阶段存储数据,第三是B+树便 于扫库和区间查询,叶子节点是一个双向链表。

5.B树和B+树的区别是什么呢?
答:第一:在B树中,非叶子节点和叶子节点都会存放数据,而B+树的 所有的数据都会出现在叶子节点,在查询的时候,B+树查找效率更加稳定。 第二:在进行范围查询的时候,B+树效率更高,因为B+树都在叶子节点存 储,并且叶子节点是一个双向链表。

6.什么是聚簇索引什么是非聚簇索引(二级索引) ?
答:聚簇索引主要是指数据与索引放到一块,B+树的叶子节点保存了整 行数据,有且只有一个,一般情况下主键在作为聚簇索引的。 非聚簇索引值的是数据与索引分开存储,B+树的叶子节点保存对应的主键, 可以有多个,一般我们自己定义的索引都是非聚簇索引。

聚簇索引选取规则:

* 如果存在主键,主键索引就是聚簇索引。

* 如果不存在主键,将使用第一个唯一(UNIQUE)索引作为聚簇索引。

* 如果表没有主键,或没有合适的唯一索引,则Innodb会自动生成一个rowid作为隐藏的聚簇索引。

7.什么是回表查询?
答:其实跟刚才介绍的聚簇索引和非聚簇索引是有关系的,回表的 意思就是通过二级索引找到对应的主键值,然后再通过主键值找到聚集索引 中所对应的整行数据,这个过程就是回表。

【注意:如果面试官直接问回表查询,则需要先介绍聚簇索引和非聚簇索引。】

8.知道什么叫覆盖索引嘛 ?
答:覆盖索引是指select查询语句使用了索引,在返回的列,必须在索引中全部 能够找到,如果我们使用id查询,它会直接走聚集索引查询,一次索引扫 描,直接返回数据,性能高。

如果按照二级索引查询数据的时候,返回的列中没有创建索引,有可能会触 发回表查询,尽量避免使用select *,尽量在返回的列中都包含添加索引的字段。

9.MYSQL超大分页怎么处理 ?
答:超大分页一般都是在数据量比较大时,我们使用了limit分页查 询,并且需要对数据进行排序,这个时候效率就很低,我们可以采用覆盖索 引和子查询来解决 先分页查询数据的id字段,确定了id之后,再用子查询来过滤,只查询这个 id列表中的数据就可以了 因为查询id的时候,走的覆盖索引,所以效率可以提升很多。

10.索引创建的原则有哪些?
答:这个情况有很多,不过都有一个大前提,就是表中的数据要超 过10万以上,我们才会创建索引,并且添加索引的字段是查询比较频繁的字 段,一般也是像作为查询条件,排序字段或分组的字段这些。

还有就是,我们通常创建索引的时候都是使用复合索引来创建,一条sql的返 回值,尽量使用覆盖索引,如果字段的区分度不高的话,我们也会把它放在 组合索引后面的字段。

如果某一个字段的内容较长,我们会考虑使用前缀索引来使用,当然并不是 所有的字段都要添加索引,这个索引的数量也要控制,因为添加索引也会导 致新增改的速度变慢。

11.索引失效的情况有哪些?
答:这个情况比较多,我说一些自己的经验,以前遇到过的 比如你用到联合索引或者复合索引的话,索引在使用的时候没有遵循最左匹配法则。第二个是,模糊查询,如 果%号在前面也会导致索引失效。如果在添加索引的字段上进行了运算操作 或者类型转换也都会导致索引失效。 我们之前还遇到过一个就是,如果使用了复合索引,中间使用了范围查询, 右边的条件索引也会失效 所以,通常情况下,想要判断出这条sql是否有索引失效的情况,可以使用 explain执行计划来分析。

【补充:什么是最左匹配法则?】

最左匹配法则是指:查询从索引的最左前列开始,并且不跳过索引中的列。

如:有一个tb_seller表,给这个表创建了联合索引,字段顺序为:name,status,address。

如果遵循了最左匹配法则,查询的时候是这样的:

如果不遵循最左匹配法则,则是这样的:

如果符合最左法则,但是出现跳跃某一列,只有最左列索引生效:

12.谈一谈你对sql优化的经验?
答:这个在项目还是挺常见的,当然如果直说sql优化的话,我会从这几方面考虑,比如 建表的时候、使用索引、sql语句的编写、主从复制,读写分离,还有一个是 如果量比较大的话,可以考虑分库分表。

首先,表的设计优化:

这个我们主要参考的阿里出的那个开发手册《嵩山版》,就比如, 在定义字段的时候需要结合字段的内容来选择合适的类型,如果是数值的 话,像tinyint、int 、bigint这些类型,要根据实际情况选择。如果是字符串 类型,也是结合存储的内容来选择char和varchar或者text类型。

第二,索引的优化:见上面的问题。

第三,sql语句的优化:

比如SELECT语句务必指明字段名称,不要直 接使用select * ,还有就是要注意SQL语句避免造成索引失效的写法;如果是 聚合查询,尽量用union all代替union ,union会多一次过滤,效率比较低; 如果是表关联的话,尽量使用innerjoin ,不要使用用left join right join,如 必须使用 一定要以小表为驱动。

第四,主从赋值,读写分离:

如果数据库的使用场景读的操作比较多的时候,为了避免写操作造成的性能影响,可以采用读写分离的架构。读写分离解决的是,数据库的写入,影响了查询效率。

第五,分库分表:见下面的回答。

13.事务的特性是什么?
答:这个比较清楚,ACID,分别指的是:原子性、一致性、隔离 性、持久性;

我举个例子: A向B转账500,转账成功,A扣除500元,B增加500元,原子操作体现在要 么都成功,要么都失败 在转账的过程中,数据要一致,A扣除了500,B必须增加500 在转账的过程中,隔离性体现在A像B转账,不能受其他事务干扰 在转账的过程中,持久性体现在事务提交后,要把数据持久化(可以说是落 盘操作)。 

14.并发事务会带来哪些问题?
答:我们在项目开发中,多个事务并发进行是经常发生的,并发也是必然的,有可能导致一些问题。

第一是脏读, 当一个事务正在访问数据并且对数据进行了修改,而这种修改 还没有提交到数据库中,这时另外一个事务也访问了这个数据,因为这个数 据是还没有提交的数据,那么另外一个事务读到的这个数据是“脏数据”,依 据“脏数据”所做的操作可能是不正确的。

第二是不可重复读:比如在一个事务内多次读同一数据。在这个事务还没有 结束时,另一个事务也访问该数据。那么,在第一个事务中的两次读数据之 间,由于第二个事务的修改导致第一个事务两次读取的数据可能不太一样。 这就发生了在一个事务内两次读到的数据是不一样的情况,因此称为不可重 复读。

第三是幻读(Phantom read):幻读与不可重复读类似。它发生在一个事务 (T1)读取了几行数据,接着另一个并发事务(T2)插入了一些数据时。在 随后的查询中,第一个事务(T1)就会发现多了一些原本不存在的记录,就 好像发生了幻觉一样,所以称为幻读。

15.怎么解决这些问题呢?MySQL的默认隔离级别是?
答:MySQL支持四种隔离级别,分别有:

第一个是,未提交读(read uncommitted)它解决不了刚才提出的所有问 题,一般项目中也不用这个。第二个是读已提交(read committed)它能解 决脏读的问题的,但是解决不了不可重复读和幻读。第三个是可重复读 (repeatable read)它能解决脏读和不可重复读,但是解决不了幻读,这个 也是mysql默认的隔离级别。第四个是串行化(serializable)它可以解决刚 才提出来的所有问题,但是由于让是事务串行执行的,性能比较低。所以, 我们一般使用的都是mysql默认的隔离级别:可重复读。

16.undo log和redo log的区别?
答:redo log日志记录的是数据页的物理变化,服务宕机可用来同步数据,而undo log 不同,它主要记录的是逻辑日志,当事务回滚时,通过逆操作恢复原来的数据,比如我们删除一条数据的时候,就会在 undo log日志文件中新增一条delete语句,如果发生回滚就执行逆操作; redo log保证了事务的持久性,undo log保证了事务的原子性和一致性。 

原理:

先介绍两个概念:

缓冲池(buffer pool):主内存中的一个区域,里面可以缓存磁盘上经常操作的真实数据,在执行增删改查操作时,先操作缓冲池中的数据(若缓冲池没有数据,则从磁盘加载并缓存),以一定频率刷新到磁盘,从而减少磁盘IO,加快处理速度。

数据页(page):是InnoDB存储引擎磁盘管理的最小单元,每个页的大小默认为16KB,页中存储的是行数据。

假设现在有一些增删改查操作如图:

如果此时缓冲池中有一个脏页(在内存中已经存储但还没同步到磁盘),还没有同步到磁盘此时服务器宕机了,那数据就会丢失,违背了事务的特性。如下图:

而redo log 和  undo log 就是解决这个问题的。

redo log(重做日志),记录的是事务提交时数据页的物理修改,是用来实现事务的持久性。

该日志文件由两部分组成:重做日志缓冲(redo log buffer)以及重做日志文件(redo log file),前者是在内存中,后者是在磁盘中。当事务提交之后会把所有修改信息都存到该日志文件中,用于在刷新脏页到磁盘发生错误时进行数据恢复使用。这种机制又叫WAL(write-Ahead Logging)。

undo log(回滚日志),用于记录数据被修改前的信息,作用包含两个:提供回滚和MVCC(多版本并发控制)。undo log和redo log记录物理日志不同,它是逻辑日志。

* 可以认为当delete一条记录时,undo log中会记录一条对应的insert记录,反之亦然。

* 当update一条记录时,它记录一条对应相反的update记录。当执行rollback时,就可以从undo log中的逻辑记录读到相应的内容并进行回滚。

17.事务中的隔离性是如何保证的呢?(你解释一下MVCC)
答:事务的隔离性是由锁和mvcc实现的。

其中mvcc的意思是多版本并发控制。指维护一个数据的多个版本,使得读写 操作没有冲突,它的底层实现主要是分为了三个部分,第一个是隐藏字段, 第二个是undo log日志,第三个是readView读视图 。

隐藏字段是指:在mysql中给每个表都设置了隐藏字段,有一个是trx_id(事 务id),记录每一次操作的事务id,是自增的;另一个字段是roll_pointer(回 滚指针),指向上一个版本的事务版本记录地址。

undo log主要的作用是记录回滚日志,存储老版本数据,在内部会形成一个 版本链,在多个事务并行操作某一行记录,记录不同事务修改数据的版本, 通过roll_pointer指针形成一个链表。

readView解决的是一个事务查询选择版本的问题,在内部定义了一些匹配规 则和当前的一些事务id判断该访问那个版本的数据,不同的隔离级别快照读 是不一样的,最终的访问的结果不一样。如果是rc隔离级别,每一次执行快 照读时生成ReadView,如果是rr隔离级别仅在事务中第一次执行快照读时生 成ReadView,后续复用。 

18.MySQL主从同步原理?
答::MySQL主从复制的核心就是二进制日志(DDL(数据定义语言)语句 和 DML(数据操纵语言)语句),它的步骤是这样的: 第一:主库在事务提交时,会把数据变更记录在二进制日志文件 Binlog 中。 第二:从库读取主库的二进制日志文件 Binlog ,写入到从库的中继日志 Relay Log 。 第三:从库重做中继日志中的事件,将改变反映它自己的数据。

19.你们项目用过MySQL的分库分表吗?
答:嗯,因为我们都是微服务开发,每个微服务对应了一个数据库,是根据业务 进行拆分的,这个其实就是垂直拆分。

20.那你之前使用过水平分库吗?
答:使用过的,我们当时的业务是(xxx),一开始,我们也是单库,后 来这个业务逐渐发展,业务量上来的很迅速,其中(xx)表已经存放了超过 1000万的数据,我们做了很多优化也不好使,性能依然很慢,所以当时就使 用了水平分库。

我们一开始先做了3台服务器对应了3个数据库,由于库多了,需要分片,我 们当时采用的mycat来作为数据库的中间件。数据都是按照id(自增)取模 的方式来存取的。

当然一开始的时候,那些旧数据,我们做了一些清洗的工作,我们也是按照 id取模规则分别存储到了各个数据库中,好处就是可以让各个数据库分摊存 储和读取的压力,解决了我们当时性能的问题。

分库分表的详细分析:

分库分表的时机:

(1)前提,项目业务数据逐渐增多,或业务发展比较迅速。单表的数据量达到1000W或20G。

(2)优化已经解决不了性能问题(主从读写分离,查询索引……)

(3)IO瓶颈(磁盘IO,网络IO)、CPU瓶颈(聚合查询、连接数太多)

分库分表拆分策略:四种。垂直分库、垂直分表、水平分库、水平分表。

 (1)垂直分库:以表为依据,根据业务将不同表拆分到不同库中。

特点:* 按业务对数据分级管理、维护、监控、扩展。

           * 在高并发下,提高磁盘IO和数据量连接数。 

(2)垂直分表:以字段为依据,根据字段属性将不同字段拆分到不同表中。

拆分规则:* 把不常用的字段单独放在一张表。

                  * 把text,blob等大字段拆分出来放在附表中。

特点:* 冷热数据分离。

          * 减少IO过度争抢,两表互不影响。

(3)水平分库:将一个库的数据拆分到多个库中。

路由规则:* 根据id节点取模。

                  * 按id也就是范围路由,节点1(1-100万),节点2(100-200万)……

特点: * 解决了单库大数量,高并发的性能瓶颈问题。

           * 提高了系统的稳定性和可用性。

(4)水平分表:将一个表的数据拆分到多个表中(可以在同一个库内)。

特点:* 优化单一表数据量过大而产生的性能问题。

           * 避免IO争抢并减少锁表的几率。

(5)分库分表后新的问题和新的技术。

分库之后的问题:

*  分布式事务一致性问题

* 跨节点关联查询

* 跨节点分页、排序函数

* 主键避重

分库之后新的技术:分库分表中间件:sharding-sphere 和mycat。

最新2023整理Java面试八股文,大厂必备神器 那么,为什么在计算机技术相关岗位面试中,存在“八股文”内容的测评呢?国内的互联网面试,恐怕是现存的、最接近科举考试的制度。我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioral question,作为面试问题)。 阅读详情

相关推荐

应广单片机 按键点灯 PMS171B GPIO LED

我也是第一次使用这款单片机,参考网友的资料,写个最近简单的demo 测试用例 #include "extern.h" /*端口定义*/ BIT KEY : PA.0; BIT SW : PA.4; /*相应于main函数*/ void FPPA0 (void) { /*单片机内部RC震动时钟为 IHRC默认为16M,因此,IHRC/2=8M,系统时钟为8M*/ .ADJUST_IC...

大江的专栏 1000

Java面试八股文:MySQL面试题专场(持续更新中......)

1、MySQL 中有哪几种锁? 1、表级锁: 开销小, 加锁快; 不会出现死锁; 锁定粒度大, 发生锁冲突的概率最高,并发度最低。 2、行级锁: 开销大, 加锁慢; 会出现死锁; 锁定粒度最小, 发生锁冲突的概率最低,并发度也最高。 3、页面锁: 开销和加锁时间界于表锁和行锁之间; 会出现死锁; 锁定粒度界于表锁和行锁之间, 并发度一般。

weixin_42475613的博客 384

分位数映射数据后处理-Quantile Mapping后处理 (R语言)

统计后处理器基本上是统计模型,将观察到的关注变量与从气象或水文模型的直接模型输出(DMO)导出的适当预测变量相关联。统计后处理的重要性早已在气象预报中得到认可。早期的工作包括完善的预测(perfect prognosis),模型输出统计(MOS)和模拟方法(analog method)等模型。 近年来,已经提出了许多其他后处理方法,包括秩直方图校准(rank histogram calibrati...

水滴石穿,绳锯木断 1万+

java面试八股文--Mysql

mysql面试基础

qq_41807944的博客 289

计组实验之四路表决器

请在之前四路表决器电路实现的基础上,继续用连接线 联接CD4511,将投票为1的票数总和显示到一个 LED上,思考如何做?由于我们需要通过显示字形来直接看出有几个1,在这里,我们最多有四个1,即显示字形最多到4就行,所以我们需要将有几个1用2进制数来表示,下面给出了相关电路图。显示输入插口,按真值表(自拟)要求,逐次改变输入变量, 测量相应的输出值,验证逻辑功能, 与表3-1 进行比较, 验证所设计的逻辑电路是否符合要求。用实验结果与真值表3-1和3-2进行比对,可以得出,我们实验结果是正确的。

szyugly的博客 1万+

Android 13.0 设置默认屏幕亮度百分比

在13.0的系统ROM产品开发中,在一些产品开发中,对于设置默认屏幕亮度和屏幕亮度百分比的功能,在开发中也是常见的功能,在10.0的平台设置可能有一些不同,一般的都是在SettingProvider中设置就可以了 在11.0以后的系统中设置默认屏幕亮度的方法就不同了,接下来具体分析功能的实现

安卓兼职framework和app工程师的博客 1560

最新整理Java面试八股文,大厂必备神器

明清科举考试的一种文体,也称制义、制艺、时文、八比文。八股文章就四书五经取题,内容必须用古人的语气,绝对不允许自由发挥,而句子的长短、字的繁简、声调高低等也都要相对成文,字数也有限制。八股文就是指文章的八个部分,文体有固定格式:由破题、承题、起讲、入题、起股、中股、后股、束股八部分组成,题目一律出自四书五经中的原文。后四个部分每部分有两股排比对偶的文字,合起来共八股。旧时科举,八股文要用孔子、孟子的口气说话,四副对子平仄对仗,不能用风花雪月的典故亵渎圣人,每篇文章包括从起股到束股四个部分。

m0_57042151的博客 6216

【灰度共生矩阵(GLCM)原理及代码实现】

文章主旨详细介绍灰度共生矩阵(Gray-Level Co-occurrence Matrix, GLCM)的生成原理、核心特征量及其在图像纹理分析中的应用,并提供了可运行的Python代码实现。该网页是一篇理论结合实践的优秀技术文章。它不仅清晰地解释了GLCM这一经典纹理分析工具背后的数学原理,还提供了完整、可复现的代码,非常适合计算机视觉或图像处理领域的学习者和开发者入门并实践灰度共生矩阵。读者可以通过运行代码来直观理解GLCM如何工作,并提取图像的纹理特征。

blotemj.blog.youkuaiyun.com 179

面试的java八股文*数据库MySQL

面试中数据库也是热点经常问: MySQL mysql 的架构 执行流程 存储引擎 mysql官方文档: mysql的官方网站 存储引擎 查看支持的引擎: show engines; 存储引擎 更新的执行流程 更新的执行流程 事务 ACID 隔离级别 执行的操作: show global variables like ‘%isolation%’; spring事务支持 锁-全局 mysql的锁按锁定粒度分为三类: 全局锁、 表锁、行级锁(由引擎实现) 锁-表级 .

鱼皮小刘博客 619

RK3568开发笔记- (TX/RX) RGMII delayline 功能调试

本文详细介绍了RK3568芯片RGMII接口delayline功能的调试过程。针对千兆以太网通信不稳定问题,通过分析RGMII时序要求,利用RK3568内置的delayline功能补偿信号延迟。调试方法包括扫描delayline窗口、测试中间值配置、优化硬件设计等步骤。文章还总结了常见问题解决方案,如PHY选型建议和自动扫描功能配置。最终实现了千兆速率下丢包率降至0.01%以下的目标,为类似开发场景提供了实用参考。

flypig has a dream! 316

2026年摩尔线程数字IC面试试卷带答案

本文摘要: 该试卷为数字IC设计笔试,满分120分,时长90分钟,包含单选题、波形分析题、多选题和代码设计题。重点考察时序约束(如set_false_path)、建立/保持时间、逻辑化简、复位机制、AXI协议、半导体工艺、状态机、GPU架构等核心知识点。多选题涉及异步FIFO设计、Verilog综合、亚稳态处理、C++关键字和低功耗技术。代码题要求实现单比特信号去毛刺电路,需稳定4个时钟周期才输出。试题解析详细,标注了企业面试高频考点,如摩尔线程自研的MUSA架构和花港GPU架构特点。整体内容专业性强,覆盖

Open 98

Java面试必背八股文[5]:MySQL

Drop、Delete、TRUNCATE的区别 drop drop直接删掉表; drop语句将表所占用的空间全释放掉。 drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。 delete delete删除表中数据,可以加where字句 delete操作不会减少表或索引所占用的空间。 范围:可以是table和view。 只删除数据,而不删除表的结构(定义) delete语句为DML(

Kunaly 1997

22、硬件工程师笔试面试——电机(2025版本)

例如,B级绝缘的电机可以承受的最高温度为130℃,而H级绝缘的电机可以承受高达180℃的温度。同时,也要考虑电机的成本和控制系统的复杂性。电机的选择取决于其应用的具体要求,包括所需的功率、速度、扭矩、效率、成本和工作环境等。根据电动机保护配置原则,为电机配置适当的保护,如过负荷保护、缺相保护、逆相保护、接地漏电保护、堵转保护、相不平衡保护、短路保护、过电压保护、低电压保护、过热保护等。根据安培环路定理,电流和磁场的相互作用会在电机的转子上产生力,这些力作用于转子上,使其绕轴旋转,从而产生转矩。

XU157303764的博客 3538

【Java八股文】06-MySQL面试篇

【Java八股文】06-MySQL面试篇

bblb的博客 1713

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【Java 面试 八股文】MySQL 篇

索引在项目中非常常见,它是一种帮助MySQL高效获取数据的数据结构,主要用来提高数据检索效率,降低数据库的I/O成本。同时,索引列可以对数据进行排序,降低数据排序的成本,也能减少CPU的消耗。聚簇索引(聚集索引)是指数据与索引放在一起,B+树的叶子节点保存了整行数据,通常只有一个聚簇索引,一般是由主键构成。非聚簇索引(二级索引)则是数据与索引分开存储B+树的叶子节点保存的是主键值,可以有多个非聚簇索引,通常我们自定义的索引都是非聚簇索引。

Luo_LA的博客 1464

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

[java八股文][Mysql面试篇]事务

MVCC允许多个事务同时读取同一行数据,而不会彼此阻塞,每个事务看到的数据版本是该事务开始时的数据版本。这意味着,如果其他事务在此期间修改了数据,正在运行的事务仍然看到的是它开始时的数据状态,从而实现了非阻塞读操作。对于「读提交」和「可重复读」隔离级别的事务来说,它们是通过 Read View 来实现的,它们的区别在于创建 Read View 的时机不同,大家可以把 Read View 理解成一个数据快照,就像相机拍照那样,定格某一时刻的风景。

hzx2400的博客 1024

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【 Java八股文面试 | MYSQL篇 】

本篇文章围绕Java八股文面试中的MYSQL常见问题展开。 ​

2025优快云博客之星Top246,后端开发技术领域新星创作者。 1345

三天吃透24W字Java后端面试八股文Java并发编程、JVM、算法与数据结构、网络协议、MySQL、Redis、spring、mybatis、springboot、sprin,面试通过率高达90%

最近秋招找工作的人是真的很多,今天就面了一个后端,让我印象很深刻,后端专业性知识不知道可以理解,但基础性问题都不知道,还面试的Java高级岗,只能说一点准备都没做,真无语了,大家过完年以后一定要再把题复习复习!年后马上又要到招聘旺季了,不知道大家准备好了没有?如果没有准备好的话,我在这里呢,给大家总结了很多关于Java后端面试的最新八股文,足足有24W字,希望大家能够好好复习一下,能够多给面试官一些惊喜,狂拿offer!

程序员高级码农的博客 275

[java八股文][MySQL面试篇]SQL基础

如果记录存在,且持有者是同一个线程,则可重入,增加重入次数,执行 UPDATE lock_table SET reentry_count = reentry_count + 1 WHERE lock_name =?假设你有两个表,一个是学生表,另一个是课程表,这两个表之间有一个关系,即一个学生可以选修多门课程,而一门课程也可以被多个学生选修。所有的查询语句都是从FROM开始执行,在执行过程中,每个步骤都会生成一个虚拟表,这个虚拟表将作为下一个执行步骤的输入,最后一个步骤产生的虚拟表即为输出结果。

hzx2400的博客 918

[java八股文][Mysql面试篇]架构

MySQL 的主从复制依赖于 binlog ,也就是记录 MySQL 上的所有变化并以二进制形式保存在磁盘上。复制的过程就是将 binlog 中的数据从主库传输到从库上。在完成主从复制之后,你就可以在写数据时只写主库,在读数据时只读从库,这样即使写请求会锁表或者锁记录,也不会影响读请求的执行。分库与分表可以从:垂直(纵向)和 水平(横向)两种纬度进行拆分。的,也就是主库上执行事务操作的线程不会等待复制 binlog 的线程同步完成。:对于大事务或资源密集型操作,直接在主库上执行,避免从库的额外延迟。

hzx2400的博客 1088

最新2025整理Java面试八股文,大厂必备神器

那么,为什么在计算机技术相关岗位面试中,存在“八股文”内容的测评呢?国内的互联网面试,恐怕是现存的、最接近科举考试的制度。我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioral question,作为面试问题)。

stone_tmp的博客 1369

[java八股文][Mysql面试篇]日志

redolog的设计之初,是“账本的作用”,是一种操作日志,用于MySQL异常崩溃恢复使用,是InnoDB引擎特有的日志,本质上是物理日志,记录的是 “ 在某个数据页上做了什么修改 ” ,但如果数据页本身已经发生了损坏,redolog来恢复已经损坏的数据块是无效的,数据块的本身已经损坏,再次重做依然是一个坏块。不行,binlog是 server 层的日志,没办法记录哪些脏页还没有刷盘,redolog 是存储引擎层的日志,可以记录哪些脏页还没有刷盘,这样崩溃恢复的时候,就能恢复那些还没有被刷盘的脏页数据。

hzx2400的博客 1217

这份Java面试八股文让329人成功进入大厂,堪称2022最强

所以,我采访了超过20位资深大厂面试官后,一直在尽量精炼准确的整理一套切实可行的八股文,现在已经有329位粉丝通过这套题走入了理想的岗位,所以分享出来给大伙看看,有什么不足之处欢迎评论补充。简单来说,互联网IT行业的求职者太多了,如果考察的是清一溜的算法题和设计题,那么会要求面试官有极高的技术水平,还要花大量的时间成本和精力。篇幅所限本文就只贴一下题目了,同学们可以自己先看看有哪些题是会的,答案的话我整理的一本。23. SpringMVC 的控制器是不是单例模式,如果是会有什么问题,怎么解决?

rita_0567的博客 1377

[java八股文][MySQL面试篇]索引

覆盖索引是指一个索引包含了查询所需的所有列,因此不需要访问表中的数据行就能完成查询。换句话说,查询所需的所有数据都能从索引中直接获取,而不需要进行回表查询。覆盖索引能够显著提高查询性能,因为减少了访问数据页的次数,从而减少了I/O操作。age INT,在这种情况下,idx_name_age_department 是一个覆盖索引,因为它包含了查询所需的所有列:name、age 和 department。查询可以完全在索引层完成,而不需要访问表中的数据行。

hzx2400的博客 955

[java八股文][Mysql面试篇]锁

当A事务对 id =1 这行记录进行更新时,会对主键 id 为 1 的记录加X类型的记录锁,这样第二事务对 id = 1 进行更新时,发现已经有记录锁了,就会陷入阻塞状态。如果2个范围查询的字段不是索引的话,那就代表 update 没有用到索引,这时候触发了全表扫描,全部索引都会加行级锁,这时候第二条 update 执行的时候,就会阻塞了。元数据锁:当我们对数据库表进行操作时,会自动给这个表加上 MDL,对一张表进行 CRUD 操作时,加的是。不会,因为锁住的范围不一样,不会形成冲突。

hzx2400的博客 1285

最新2023阿里巴巴大佬整理Java面试八股文,大厂必备神器

那么,为什么在计算机技术相关岗位面试中,存在“八股文”内容的测评呢?国内的互联网面试,恐怕是现存的、最接近科举考试的制度。我国的八股文确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioral question,作为面试问题)。

Java架构师之路的博客 1410
上一篇: java面试八股文之spring boot
下一篇: MySQL安装教程
simple梅
博客等级 码龄10年 15粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值