再也不怕面试官问数据库的问题了!嘻嘻~~~

数据库基础知识
1、为什么要使用数据库
2、什么是SQL?
3、什么是MySQL?
4、数据库三大范式是什么
5、mysql有关权限的表都有哪几个
6、MySQL的binlog有有几种录入格式?分别有什么区别?

数据类型
1、mysql有哪些数据类型

引擎
1、MySQL存储引擎MyISAM与InnoDB区别
2、MyISAM索引与InnoDB索引的区别?
3、InnoDB引擎的4大特性
4、存储引擎选择

索引
1、什么是索引?
2、索引有哪些优缺点?
3、索引使用场景(重点)
4、索引有哪几种类型?
5、索引的数据结构(b树,hash)
6、索引的基本原理
7、索引算法有哪些?
8、索引设计的原则?
9、创建索引的原则(重中之重)
10、创建索引的三种方式,删除索引
11、创建索引时需要注意什么?
12、使用索引查询一定能提高查询的性能吗?为什么
13、百万级别或以上的数据如何删除
14、前缀索引
15、什么是最左前缀原则?什么是最左匹配原则
16、B树和B+树的区别
17、使用B树的好处
18、使用B+树的好处
19、Hash索引和B+树所有有什么区别或者说优劣呢?
20、数据库为什么使用B+树而不是B树
21、B+树在满足聚簇索引和覆盖索引的时候不需要回表查询数据,
22、什么是聚簇索引?何时使用聚簇索引与非聚簇索引
23、非聚簇索引一定会回表查询吗?
24、联合索引是什么?为什么需要注意联合索引中的顺序?

事务
1、什么是数据库事务?
2、事物的四大特性(ACID)介绍一下?
3、什么是脏读?幻读?不可重复读?
4、什么是事务的隔离级别?MySQL的默认隔离级别是什么?


1、对MySQL的锁了解吗
2、隔离级别与锁的关系
3、按照锁的粒度分数据库锁有哪些?锁机制与InnoDB锁算法
4、从锁的类别上分MySQL都有哪些锁呢?像上面那样子进行锁定岂不是有点阻碍并发效率了
5、MySQL中InnoDB引擎的行锁是怎么实现的?
6、InnoDB存储引擎的锁的算法有三种
7、什么是死锁?怎么解决?
8、数据库的乐观锁和悲观锁是什么?怎么实现的?

视图
1、为什么要使用视图?什么是视图?
2、视图有哪些特点?
3、视图的使用场景有哪些?
4、视图的优点
5、视图的缺点
6、什么是游标?

存储过程与函数
1、什么是存储过程?有哪些优缺点?

触发器
1、什么是触发器?触发器的使用场景有哪些?
2、MySQL中都有哪些触发器?

常用SQL语句
1、SQL语句主要分为哪几类
2、超键、候选键、主键、外键分别是什么?
3、SQL 约束有哪几种?
4、六种关联查询
5、什么是子查询
6、子查询的三种情况
7、mysql中 in 和 exists 区别
8、varchar与char的区别
9、varchar(50)中50的涵义
10、int(20)中20的涵义
11、mysql为什么这么设计
12、mysql中int(10)和char(10)以及varchar(10)的区别
13、FLOAT和DOUBLE的区别是什么?
14、drop、delete与truncate的区别
15、UNION与UNION ALL的区别?

SQL优化
1、如何定位及优化SQL语句的性能问题?创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因?
2、SQL的生命周期?
3、大表数据查询,怎么优化
4、超大分页怎么处理?
5、mysql 分页
6、慢查询日志
7、关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?
8、为什么要尽量设定一个主键?
9、主键使用自增ID还是UUID?
10、字段为什么要求定义为not null?
11、如果要存储用户的密码散列,应该使用什么字段进行存储?
12、优化查询过程中的数据访问
13、优化长难的查询语句
14、优化特定类型的查询语句
15、优化关联查询
16、优化子查询
17、优化LIMIT分页
18、优化UNION查询
19、优化WHERE子句

数据库优化
1、为什么要优化
2、数据库结构优化
3、MySQL数据库cpu飙升到500%的话他怎么处理?
4、大表怎么优化?某个表有近千万数据,CRUD比较慢,如何优化?分库分表了是怎么做的?分表分库了有什么问题?有用到中间件么?他们的原理知道么?
垂直分表
适用场景
缺点
水平分表:
适用场景
水平切分的缺点
5、MySQL的复制原理以及流程
6、读写分离有哪些解决方案?
7、备份计划,mysqldump以及xtranbackup的实现原理
8、数据表损坏的修复方式有哪些?

优质文章推荐

1、【吊打面试官】redis高频面试知识点和答案

3、【吊打面试官】dubbo高频面试知识点和答案
4、【吊打面试官】spring boot高频面试知识点
5、【吊打面试官】zookeeper大厂高频面试题和答案
6、【吊打面试官】linux高频面试知识点

答案详情如下:

https://blog.nowcoder.net/n/75e67d5ea8444325888e5fb6509c6081

#再见2019##Java#
全部评论
答案呢
点赞 回复 分享
发布于 2020-08-18 23:25
在?答案呢
点赞 回复 分享
发布于 2020-08-11 16:48
顶啊,可是答案呢
点赞 回复 分享
发布于 2020-07-29 23:10
🤣答案为空
点赞 回复 分享
发布于 2020-07-29 22:05
答案为空啊
点赞 回复 分享
发布于 2020-07-29 22:04
大佬,答案呢
点赞 回复 分享
发布于 2020-06-27 15:46
大佬,你咋挂了??
点赞 回复 分享
发布于 2020-06-27 15:04
大佬有答案吗。。
点赞 回复 分享
发布于 2020-05-15 17:50
大佬有答案吗。。
点赞 回复 分享
发布于 2020-05-09 17:00
没答案啊
点赞 回复 分享
发布于 2020-05-08 14:55
问题很全。但是答案呢!?
点赞 回复 分享
发布于 2020-03-15 15:27

相关推荐

从输入URL到页面加载发生了什么:总体来说分为以下几个过程: 1.DNS解析 2.TCP连接 3.发送HTTP请求 4.服务器处理请求并返回HTTP报文 5.浏览器解析渲染页面 6.连接结束。简述了一下各个过程的输入输出作用:以下是对从输入 URL 到页面加载各过程的输入、输出或作用的一句话描述:DNS 解析: 输入:用户在浏览器地址栏输入的域名(如 www.example.com)。输出:对应的 IP 地址(如 192.168.1.1)。作用:将易于记忆的域名转换为计算机能够识别和用于网络通信的 IP 地址,以便浏览器与目标服务器建立连接。TCP 连接: 输入:浏览器获得的服务器...
明天不下雨了:参考一下我的说法: 关键要讲出输入网址后涉及的每一个网络协议的工作原理和作用: 涉及到的网络协议: HTTP/HTTPS协议->DNS协议->TCP协议->IP协议->ARP协议 面试参考回答: 第一次访问(本地没有缓存时): 一般我们在浏览器地址栏输入的是一个域名。 浏览器会先解析 URL、解析出域名、资源路径、端口等信息、然后构造 HTTP 请求报文。浏览器新开一个网络线程发起HTTP请求(应用层) 接着进行域名解析、将域名解析为 IP 地址 浏览器会先检查本地缓存(包括浏览器 DNS 缓存、操作系统缓存等)是否已解析过该域名 如果没有、则向本地 DNS 服务器请求解析; 本地服务器查不到会向更上层的 DNS 服务器(根域名服务器->顶级域名服务器->权威域名服务器询问)递归查询 最终返回该域名对应的 IP 地址。(应用层DNS协议)DNS 协议的作用: 将域名转换为 IP 地址。 由于 HTTP 是基于 TCP 传输的、所以在发送 HTTP 请求前、需要进行三次握手、在客户端发送第一次握手的时候、( 浏览器向服务器发送一个SYN(同步)报文、其中包含客户端的初始序列号。TCP头部设置SYN标志位、并指定客户端端口 同时填上目标端口和源端口的信息。源端口是浏览器随机生成的、目标端口要看是 HTTP 还是 HTTPS、如果是 HTTP 默认目标端口是 80、如果是 HTTPS 默认是 443。(传输层) 然后到网络层:涉及到(IP协议) 会将TCP报文封装成IP数据包、添加IP头部,包含源IP地址(浏览器)和目标IP地址(服务器)。IP 协议的作用: 提供无连接的、不可靠的数据包传输服务。 然后到数据链路层、会通过 ARP 协议、获取目标的路由器的 MAC 地址、然后会加上 MAC 头、填上目标 MAC 地址和源 MAC 地址。 然后到物理层之后、直接把数据包、转发给路由器、路由器再通过下一跳、最终找到目标服务器、然后目标服务器收到客户的 SYN 报文后,会响应第二次握手。 当双方都完成三次握手后、如果是 HTTP 协议、客户端就会将 HTTP 请求就会发送给目标服务器。如果是 HTTPS 协议、客户端还要和服务端进行 TLS 四次握手之后、客户端才会将 HTTP 报文发送给目标服务器。 目标服务器收到 HTTP 请求消息后、就返回 HTTP 响应消息、浏览器会对响应消息进行解析渲染、呈现给用户
点赞 评论 收藏
分享
牛客840099999号:没见过这样的大厂,至少头部的肯定没有
点赞 评论 收藏
分享
评论
33
464
分享

创作者周榜

更多
牛客网
牛客企业服务