didi

first:

  1. 简单介绍下自己

  2. 介绍下Eureka和Consul的区别,画一下架构图,感觉面试官也不熟悉

  3. 说下B+树的特点,B+树的数据项都放在叶子节点有什么好处。应该是B+树的内部节点相对B树更小,那么一个磁盘块中能容纳的 关键字数量也就越多,可以降低IO读写次数。并且B+数的查询效率更稳定

  4. Innodb隔离级别分别解决了什么问题,MVCC+间隙锁介绍下。间隙锁可能存在于普通索引和唯一索引,唯一索引是范围,普通索引是记录+范围

  5. redis里有哪些数据结构,然后问下缓存雪崩和缓存穿透怎么解决。大概记录下:缓存穿透的解决方法是一个对入参做下校验,比如id为负这种直接不处理,还有缓存空值(过期时间可以小些)。缓存击穿的解决方案是一个是给热点数据的缓存做下不同的expire时间或者直接不过期,或者做下互斥锁。

  6. 然后是redis做缓存时怎么同步db的变更,这个还需要研究

  7. 算法,判断一个树是不是镜像二叉树。


second:

  1. 简单介绍自己和项目

  2. 为什么想走

  3. 项目中遇到过哪些问题

  4. 算法,判断一个树是不是二叉搜索树

  5. 算法,求数组的连续子数组最大乘积,我做出来了结果面试官非问有无特殊情况….把我绕懵了,最后把我挂掉了。

Written on October 12, 2020