面试官喜欢考的

106 阅读2分钟

秒杀的流程

程序处理过程

image.png

消息数据库处理过程

image.png

redis和mysql事务的区别

image.png

aof和rdb怎么选择

image.png

redis怎么实习分布式锁

实习分布式锁需要满足一下的四点

  • 互斥行 只要一个客户端能拿到锁
  • 解铃还须系铃人,只要同一个客户端才能去开自己的锁
  • 不能发生死锁
  • 只要还有节点活着 只要大部分的Redis节点正常运行,客户端就可以加锁和解锁。

加锁

 String result = jedis.set(lockKey, requestId, SET_IF_NOT_EXIST, SET_WITH_EXPIRE_TIME, expireTime);

解锁的时候会加上lua代码我为了保证原子性

image.png

MySQL中存整形有哪些数据类型?

tiny small medium int big

mysql 怎么强制使用某个索引

image.png

如何使用前缀索引

image.png

image.png

image.png

mysql的realy log

主要问的就是主从复制 io线程 sql线程 比binlog 多了个master info 记录上一次读到的位置

image.png

mysql 引擎的区别

image.png

事外锁查全空

select count(*)时InnoDB和MyISAM分别是怎么处理的?

myisam是把表的总行数记录再磁盘上的,可以直接返回 所以比inbodb快, 但是如果加上where就不一定了 原因竟然是mvcc 导致行数不一致,无法记录

mysql 字段string 和int

是string 用int 可以查 是int 输入 ‘1dsf’ 后面的不算 只有1能算

事务的隔离级别

image.png

redis 的5种数据结构

string list set zset 元素是唯一的 但是分数不是唯一的 hash

b树和b+树

首先的知识点是 磁盘 是由轨道+扇形区号 +偏移量 可以找到任何byte 1000条数据 每块512字节 如果没有索引 就要把所有的数据都加载到内存中 是很慢 且浪费, 所有花点小成本空间去简历索引,这样每次进入内存的空间就小了,然而索引随着时间的增加 也会变很多,索引需要多级索引,而二叉平衡树 一个节点只能存储一个key 不行 ,M way tree 诞生,但是必须要有规则 不然很浪费, 然后就有了b树 每个key有自己的cp和rp,b+树 只有叶节点有rp,但是叶节点是有非叶节点的备份的,然后加上一个指向兄弟节点的指针。