数据库相关的面试题

 

语句

数据库 limit 实现原理

inner join、right join、 left join的区别

联合查询

引擎:

范式了解吗

Redis和MySQL的区别,关系型数据库和非关系型数据库的区别 (结构化和非结构化,键值对关系,是否易于扩展)

Git、svm区别:快照

InnoDB、Myisam区别 Mysql引擎

两用引擎优势

查询优化器

Git、svm区别:快照

日志:

数据库的慢查询日志、执行计划、索引、B树和B+树的区别

数据库:Binlog是什么,Redo log和Undo log在事务中表现了怎样的角色(简单地扯了一下MVCC和LSM),事务写入磁盘做了哪些处理(说了个Double Write)

索引

数据库主键和索引区别

主键索引、唯一索引、联合索引、聚集索引、非聚集索引,具体解释一下

索引怎么实现的[B+树],为什么选这个数据结构?  B+树 复杂度   磁盘io的次数

B树和B+树的区别,索引为什么不用二叉树、红黑树等?

一个联合索引(a,b,c),where b=.. and c=....走不走索引?为什么?哪些走索引? 如果 where b and c and a呢打乱顺序呢

说一下mysql索引数据结构,为什么B+树,和hash索引区别?

数据库如何优化效率?什么情况下要建索引?

自己是否有建立过索引,建立索引需要注意哪些事项?

前缀匹配

每一列都可以加索引吗?

.数据库的索引结果?

事务:

脏读,不可重复读写,幻读是什么;  MySQL避免脏读的底层实现。(next-key locks,行锁,间隙锁)

事务的四大特性,事务等级。每种等级解决了什么问题

mysql的undolog和redulog的意义

事务的理解

锁:

简要介绍mvcc

问事务隔离级别是怎么实现的,说一下MVCC是什么样的机制。它是怎么管理这些版本的,版本是什么时候被创建的,什么时候被

MySQL乐观锁悲观锁

 

分布式:

MySQL数据库,一张表的数据存储在多个服务器中时,如何同步

主从架构怎么保证数据同步

MQ作用、原理以及主要组件

哈希一致性

数据库优化:

mysql查询什么时候会慢 如果已经建索引了,会不会也慢,具体什么场景

如果比较慢,增加CPU的数量或者内存的容量能不能有提高

mysql分区

MySQL字段类型的长短会对性能有影响吗

如何加速数据库查找

 

Redis相关:

为什么面试官要说单进程而不是单线程

Redis了解哪些(我把底层的SDS,渐进式hash,压缩表,raft算法,gossip协议疯狂输出)

Redis的数据结构

Redis zset怎么实现 .

.Redis持久化方式

全量复制、部分复制

复制积压缓冲区

.redis 键删除策略

rdb实现细节(为什么bgsave不阻塞请求,那这时候如果来请求了redis如何处理的),aof,redis分布式锁细节 持久化的时候内存会有什么变化

redis字典的实现;重哈希怎么实现;重哈希是同步还是异步;哈希键还用什么数据结构;

热点key问题

redis 哨兵

redis 跳表,redis 跳表,查询和插入复杂度   bgsave 日志复制,集群模式

.Redis是单进程单线程,那为什么RDB时候不会阻塞

Redis集群策略、分槽

.Redistribution集群中不同节点如何通信

 

场景题:

Redis主从部署,在写请求特别多的场景下,如何保证在从节点读到的数据不是脏数据,我当时被这题问懵了,就说对从Redis上锁,同步完之后在进行回调,面试官笑了,说你还能改Redis源码啊🤣事后问大佬,一个可行解是给数据加上时间戳,然后在代码层面进行时间戳的比较,总之就是有点MVCC的味道

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值