Java 面试被 MySQL 问哭了,面试官一个连环炮提问,我一个都讲不清
比如你去面试时,面试官问你:
索引的本质是什么?
三星索引有了解吗?你是如何理解的?
Innodb 引擎如何保证事务的并发处理的?
你们公司 SQL 的执行最长的时间是多少秒?有分析过原因吗?解决的思路是怎样的?等等~
这时你会一脸懵逼,被面试官虐惨。以上的几个问题还没有完全正确的回答出来的小伙伴们可要反省反省了,毕竟这是目前一线互联网面试必问的知识点啊!
下面在让我们来看看一线互联网公司阿里,美团等大厂对 MySQL 及数据库必问的 20 道面试问题解析
=======================================================================================
事务四大特性(ACID)原子性、一致性、隔离性、持久性?
事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL 默认是哪个级别?
MySQL 常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别?
MySQL 的 MyISAM 与 InnoDB 两种存储引擎在,事务、锁级别,各自的适用场景?
查询语句不同元素(where、jion、limit、group by、having 等等)执行先后顺序?
什么是临时表,临时表什么时候删除?
MySQL B+Tree 索引和 Hash 索引的区别?
聚集索引和非聚集索引区别?
有哪些锁(乐观锁悲观锁),select 时怎么加排它锁?
非关系型数据库和关系型数据库区别,优势比较?
数据库三范式,根据某个场景设计数据表?
数据库的读写分离、主从复制,主从复制分析的 7 个问题?
使用 explain 优化 sql 和索引?
MySQL 慢查询怎么解决?
什么是 内连接、外连接、交叉连接、笛卡尔积等?
mysql 都有什么锁,死锁判定原理和具体场景,死锁怎么解决?
varchar 和 char 的使用场景?
mysql 高并发环境解决方案?
数据库崩溃时事务的恢复机制(REDO 日志和 UNDO 日志)?
============================================================================
事务四大特性(ACID)原子性、一致性、隔离性、持久性?
原子性(Atomicity)
原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。
一致性(Consistency)
事务开始前和结束后,数据库的完整性约束没有被破坏。比如 A 向 B 转账,不可能 A 扣了钱,B 却没收到。
隔离性(Isolation)
隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如 A 正在从一张银行卡中取钱,在 A 取钱的过程结束前,B 不能向这张卡转账。
关于事务的隔离性数据库提供了多种隔离级别,稍后会介绍到。?持久性(Durability)
持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。
由于篇幅限制,太长看下去会很乏味,也会影响阅读体验,下面展现将以图片形式展示。获取原文件以及更多资源请关注点赞分享后,后台**点这里获取原文件免费领取方式。**
评论