面试题17:binlog的作用?binlog和redo log的区别?

1236 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
这门课程适合有一定MySQL基础的开发工程师、数据库工程师、架构师以及准备参加大厂面试的求职者。无论你是准备面试还是想提升自己的MySQL技能,这门课程都将为你提供宝贵的学习资源。
你将会学到
涵盖InnoDB存储引擎、索引和查询优化、事务和锁机制等MySQL关键主题的大厂面试题
课程简介

MySQL大厂面试课大纲

一、InnoDB存储引擎类

面试题1:介绍一下InnoDB的内存结构,都由哪几部分组成,各自的作用分别是什么?

面试题2:什么是Buffer Pool?

面试题3:Buffer Pool中是如何管理Page页的?

面试题4:MySQL中为什么没有采用传统的LRU算法?

面试题5:MySQL中对LRU算法进行了哪些优化?

面试题6:介绍一下change Buffer,为什么说change Buffer写缓冲区,仅适用于辅助索引页?

面试题7:说一下Log Buffer的作用?

面试题8:MySQL InnoDB是否支持哈希索引?

面试题9:自适应哈希索引是如何提高查询效率的?

面试题10:说一下InnoDB的磁盘结构中表空间的作用?

面试题11:什么是写失效,MySQL如何解决写失效问题?

面试题12:介绍一下MySQL中事务的特性?

面试题13:介绍一下redo log,它的作用是什么?

面试题14:事务还没有提交的时候,redo log能不能被持久化到磁盘?

面试题15:说一下MySQL中脏页落盘的机制?

面试题16:说一下undo Log日志的作用以及它的工作原理?

面试题17:binlog的作用?binlog和redo log的区别?

面试题18:说一下binlog的写入流程,为什么崩溃恢复不使用binlog?

面试题19:如何查看binlog日志?

面试题20:MySQL8.0版本对比5.7版本有哪些结构的演变?

面试题21:介绍一下InnoDB的后台线程,各自的作用是什么?

面试题22:说一下InnoDB表空间文件的结构?

面试题23:简述一下Page页的结构? 

面试题24:什么是行溢出?


二、索引和查询优化类

面试题25:什么是索引,说一下你对索引的理解?

面试题26:B+Tree对比B-Tree有哪些优势?

面试题27:一棵B+Tree可以存放多少数据?

面试题28:Hash索引有哪些优缺点?

面试题29: 什么是聚簇索引,它与非聚簇索引有什么区别?

面试题30: 什么是回表?如何解决回表问题?

面试题31: 什么是索引下推?

面试题32: 数据库主键的类型如何选择?自增还是UUID?

面试题33:介绍一下MySQL架构体系?

面试题34:MySQL的SQL查询的流程?

面试题35:有没有用过Explain?它都有哪些主要字段?

面试题36:说一下type字段和extra字段中不同值的含义?

面试题37:索引在创建的时候有哪些需要注意的地方?

面试题38:什么是三星索引?

面试题39:在进行查询时,如何避免使用到的索引失效?

面试题40:说一下最左前缀法则的底层原理?

面试题41:MySQL内部支持缓存查询吗?

面试题42:InnoDB与MyISAM的区别?

面试题43:哪些情况会导致SQL语句查询性能下降

面试题44:如何进行慢查询优化?

面试题45:InnoDB相关的参数优化有了解过吗?

面试题46:如何进行JOIN优化?

面试题47:索引创建时可以选择哪些类型?

面试题48:如何进行order by优化?

面试题49:如何进行group by优化?

面试题50:单表的查询成本如何计算?


三、事务和锁机制类

面试题51:进行事务控制的方式有哪些?

面试题52:说一下MVCC的内部细节?

面试题53:介绍一下MySQL事务的隔离级别?

面试题54:MySQL 的可重复读怎么实现的?

面试题55:数据库中的锁有哪些?

面试题56:Repeatable Read 解决了幻读问题吗?

面试题57:请说一下共享锁和排他锁?

面试题58:MySQL中binlog有哪几种日志格式?分别有什么区别?

面试题59:MySQL线上修改大表结构有哪些风险?

面试题60:介绍一下数据的设计范式?

面试题61:InnoDB行锁在什么情况下会升级为表锁?

面试题62:InnoDB行锁如何进行优化?


四、经典面试题类

面试题63:说一下乐观锁的实现方式?

面试题64:count(列名)、count(1)和 count(*)有什么区别?

面试题65:说一下MySQL主从复制的作用及原理?

面试题66:如何进行分页查询优化?

面试题67:MySQL中都有哪几种加锁范围?

面试题68:说一下行级锁的分类?

面试题69:为什么说 插入、更新、删除操作,都归为当前读?

面试题70:说一下MySQL中对于不同的隔离级别和索引类型,行锁采用的加锁方式有什么不同?

面试题71:MySQL何时需要进行分库分表?

面试题72:MySQL出现死锁了,应该怎么处理?

面试题73:update 没加索引会锁全表吗?

面试题74:下面操作中,加了什么锁,会导致死锁吗?

面试题75:MySQL是怎么加行锁的?

展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交