2020 字节跳动 数据库面试题汇总

蚀纹析取
• 阅读 2708

数据库知识作为面试必考题,在面试的过程中占比很好,尤其是后端开发,一定要精通,尤其是索引和事务,每个专业的面试官都会问,一定不能只停留在增删查改上。

关系型数据库(主要为 Mysql)
数据库三范式
分别说一下范式和反范式的优缺点
Mysql 数据库索引。B+ 树和 B 树的区别
为什么 B+ 树比 B 树更适合应用于数据库索引,除了数据库索引,还有什么地方用到了(操作系统的文件索引)
聚簇索引和非聚簇索引
前缀索引和覆盖索引
介绍一下数据库的事务
Mysql 有哪些隔离级别
Mysql 什么情况会造成脏读、可重复度、幻读?如何解决
Mysql 在可重复度的隔离级别下会不会有幻读的情况,为什么?
Mysql 事务是如何实现的
Binlog 和 Redo log 的区别是什么,分别是什么用?
谈一谈 MVCC 多版本并发控制
Innodb 和 MyISAM 的区别是什么
Innodb 的默认加锁方式是什么,是怎么实现的
如何高效处理大库 DDL
Mysql 索引重建
对于多列索引,哪些情况下能用到索引,哪些情况用不到索引
为什么使用数据库索引可以提高效率,在什么情况下会用不到数据库索引?
共享锁和排他锁的使用场景,
关系型数据库和非关系数据库的优缺点
Mysql 什么情况会造成慢查,如何查看慢查询
如何处理慢查询,你一般是怎么处理慢查询的
Mysql 中 varchar 和 char 的区别
数据库外键的优缺点
有没有使用过数据库的视图
Mysql 中插入数据使用自增 id 好还是使用 uuid,为什么?
Mysql 有哪些数据类型,使用的时候有没有什么注意点
Mysql 集群有哪几种方式,分别适用于什么场景
Mysql 主从模式如何保证主从强一致性
Mysql 集群如何保证主从可用性
Mysql 读写分离有哪些解决办法
非关系型数据库
redis 的底层数据结构有哪些
redis 中的 SDS 和 C 语言中的字符串有什么区别,优点是什么
redis 中的字典是如何实现的,如何解决冲突和扩容
redis 的跳表的使用场景是什么,可以实现一下吗
redis 缓存穿透,缓存击穿,缓存雪崩,热点数据集中失效 (常问)
redis 的淘汰策略,来写一下 LRU 吧
redis 的持久化方式,RDB 和 AOF 分别的使用场景
redis 如何处理事务
redis 为什么那么快?
redis 是单线程为什么还那么快?
redis 的操作为什么是原子性的,如何保证原子性
redis 集群用过哪些方案,分别怎么做。讲一下一致性哈希
redis 什么情况下会出现性能问题,有什么处理办法?
有没有使用过 redis 的分布式锁,有什么优缺点
说一下 redis 的内存模型
说一下 redis 和 memcache 的区别
你用 redis 做过什么?(这里尽量不要讲只做过缓存,可以说一下队列,排行榜/计数器,发布/订阅)
你用过哪些非关系型数据库,都有什么特点,使用场景分别是什么(体现你技术广度的时刻到了,尽可能多说,但是不会的不要说,防止被问死)
Mongodb 相对于 Mysql 有哪些优势,底层索引使用的数据结构是什么,为什么要使用这个
Mongodb 中的分片是什么意思

点赞
收藏
评论区
推荐文章
关系型数据库设计三大范式
作者:郑龙飞范式定义百度百科:设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。人类语言:范式可以理解为设计一张数据表的表结构,符合的标准级别、规范和要求。而通
Gwendolyn62 Gwendolyn62
4年前
数据库常见面试题汇总
阅读指南文章目录1.事务四大特性(about:blank1_4)2.数据库隔离级别(about:blank2_12)3.MYSQL的两种存储引擎区别(事务、锁级别等等),各自的适用场景(about:blank3MYSQL_27)4.索引有B索引和hash索引(about:b
zdd小小菜鸟 zdd小小菜鸟
2年前
MySQL面试
MySQL面试1.数据库的三范式是什么?tex第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。
lix_uan lix_uan
3年前
MySQL学习总结
数据库的三大范式第一范式:每个列都不可以再拆分第二范式:在第一范式的基础上,非主键列完全依赖于主键第三范式:在第二范式上,非主键列只依赖主键,不依赖其他非主键事务的并发问题脏读:事务A读取了事务B更新的数据,然后数据B回滚,那么A读到的是脏数据不可重复读:事务A多次读取同一数据,事务B在事务A读取的过程中对数据进行了修改并提交,导致A多次读的数据
Wesley13 Wesley13
3年前
MySql数据库索引
InnoDB存储引擎索引:B树索引:不能找到一个给定键值的具体行,能找到的只是被查找数据行所在的页。然后把页加载到内存,在查询所要的数据。全文索引:哈希索引:InnoDB会根据表的使用情况自动为表生成哈希索引,不能人为的干预是否在一张表中生成哈希索引B树索引在数据库中的高度一般是2~4层,所以查询最多需要2到4次IO。B树索引分为聚
Wesley13 Wesley13
3年前
mysql面试题
MySQL面试索引相关1.什么是索引?索引是一种数据结构,可以帮助我们快速的进行数据的查找.1.索引是个什么样的数据结构呢?索引的数据结构和具体存储引擎的实现有关,在MySQL中使用较多的索引有Hash索引,B树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B树索引.
Wesley13 Wesley13
3年前
MySQL相关
一、数据库的三种范式第一范式:数据库表的每一列都是不可分割的基本数据项。第二范式:数据库表中的每个实例或行必须可以被惟一地区分,即主键。第三范式:要求数据库表中不包含已在其它表中已包含的非主关键字信息,即外键。二、存储过程存储过程是一个可编程的函数,它在数据库中创建并保存。优点有:1、存储过程能
Stella981 Stella981
3年前
ELK学习笔记之ElasticSearch的索引详解
0x00ElasticSearch的索引和MySQL的索引方式对比Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤。特别是它对多条件的过滤支持非常好,比如年龄在18和30之间,性别为女性这样的组合查询。倒排索引很多地方都有介绍,但是其比关系型
Wesley13 Wesley13
3年前
Java相关面试题总结+答案(九)
【MySQL】164\.数据库的三范式是什么?第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。第二范式:属性完全依赖于主键(满足第一范式的前提下),即任意一个字段只依赖于表中的同一个字段。第三范式:任何非主属性不依赖于其它非主属性(满足第二范式的前提下)。即不存在传
京东云开发者 京东云开发者
7个月前
关系型数据库设计三大范式
作者:京东科技郑龙飞范式定义百度百科:设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。人类语言:范式可以理解为设计一张数据表的表结构,符合的标准级别、规范和要
贾蔷 贾蔷
1个月前
二叉树入门指南:从零开始理解树形数据结构
一、简介和应用二叉树是一种重要的非线性数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。它在计算机科学中有广泛的应用,是许多高级数据结构的基础。‌应用场景‌:1.数据库索引(如B树、B树)2.文件系统目录结构3.表达式树(用于编译器实现)4