岗位/面试时间
timeline 4.9号一面
1.介绍项目
2.短链接怎么生成的,哈希冲突怎么解决的
3.缓存穿透和击穿怎么解决
4.缓存一致性怎么做的
5.分库分表怎么做的,我说用gid分组(分组id)
(他说那有没有考虑数据倾斜的问题,有一个用户创建了特别多的短链接,导致某一个单表数据量太大)
6.有没有那种不能分库分表的场景
7.双重判定锁是啥
8.分布式锁组件是什么
9.不用redis做分布式锁的话你还有什么方案
后面提示用mysql做,还是没想出来
10.隔离级别
11.索引的底层数据结构
12.为什么b+树层高更低
我说一般就三层,而且单表数据量最多2000w条,让我说一下怎么算出来的
13.可重复读怎么实现的
14.mvcc底层原理
15.redis数据结构
16.Zset底层数据结构
17.说一下跳表,讲一下跳表怎么找到元素的过程
18.Select * from table where x=1 and y<1 order b y z
数据区分度足够高,面对上面这条sql,你选择建什么索引 ?
19.智力题有2个篮子、100个红球。100个黑球,每个球都必须放进篮子里。如何放置,能够使我从每个篮子里抽取1个球,拿出两个红球的可能性最大?
20.区间反转链表