
1.自我介绍
2.hashMap和ConcurrentHashMap有什么区别?它底层的结构是怎么实现
3.ConcurrentHashMap 扩容过程它在并发扩容的时候怎么保证线程安全
4.如果我在它扩容的时候,正好有线程要访问某个 key,那它会不会访问到错误的节点?
5.hash冲突的时候ConcurrentHashMap是怎么解决冲突的
6. 如果现在要做一个全局排行榜,玩家分数会频繁变动、前 1 万名要实时上榜,你会用什么结构去做?怎么保证更新和排序性能?”
7.我举个例子:1 千万玩家中实时维护 top1w 排行榜,你会用什么方案做这个系统?比如用什么结构、用什么策略控制并发和数据同步
9.你在项目中有没有遇到扫表场景?你们一般加索引遵循什么原则?哪些字段会优先加索引
10.我给你一个组合索引 (a,b,c),我的条件是这样的where b = ? and a = ? and c = ? 会不会命中这个索引?为什么
11. 刚才说的是联合索引失效,那为啥它不会回到主键索引上去命中?能不能解释一下
12.讲讲一条SQL 执行过程包括哪几个阶段从写 SQL 到返回数据
13. 写了 where id > 0 但是又有一个联合索引 (b,a,c),优化器有可能会走哪个索引?为什么它有时候走的是主键索引,而没有走联合索引。
14.有没有做过分页或者是列表之类的东西,MySQL怎么去实现一个分页的
15.limit 关键字,然后它有那个offset吧,offset0 和limit10以及offset100000和limit10,这两者中哪一个效率会更高一点?为什么
16.怎么解决这种问题
17. 主键游标这种方案你提到,就是根据ID那个主键对吧,WHERE id > 上一页最后一条的id,那这个时候我们优化器肯定会选择主键,我们怎么让这个sql强制读某一个索引呢?比如它这个字段同时有联合索引,我就想强制让他去走联合索引,而不要让优化器乱选
14.FORCE INDEX 有什么缺点么,除了这个办法还有其他方式么
15.了解MySQL覆盖索引吗?什么时候会触发索引下推
16.手撕:1.滑动窗口最大值 2. 给定一个大小为n的数组 nums其中包含一个出现次数超过 ⌊n/2⌋ 的多数元素(即该元素出现的次数比其他所有元素出现次数的总和还要多)找出并返回这个多数元素
2.hashMap和ConcurrentHashMap有什么区别?它底层的结构是怎么实现
3.ConcurrentHashMap 扩容过程它在并发扩容的时候怎么保证线程安全
4.如果我在它扩容的时候,正好有线程要访问某个 key,那它会不会访问到错误的节点?
5.hash冲突的时候ConcurrentHashMap是怎么解决冲突的
6. 如果现在要做一个全局排行榜,玩家分数会频繁变动、前 1 万名要实时上榜,你会用什么结构去做?怎么保证更新和排序性能?”
7.我举个例子:1 千万玩家中实时维护 top1w 排行榜,你会用什么方案做这个系统?比如用什么结构、用什么策略控制并发和数据同步
9.你在项目中有没有遇到扫表场景?你们一般加索引遵循什么原则?哪些字段会优先加索引
10.我给你一个组合索引 (a,b,c),我的条件是这样的where b = ? and a = ? and c = ? 会不会命中这个索引?为什么
11. 刚才说的是联合索引失效,那为啥它不会回到主键索引上去命中?能不能解释一下
12.讲讲一条SQL 执行过程包括哪几个阶段从写 SQL 到返回数据
13. 写了 where id > 0 但是又有一个联合索引 (b,a,c),优化器有可能会走哪个索引?为什么它有时候走的是主键索引,而没有走联合索引。
14.有没有做过分页或者是列表之类的东西,MySQL怎么去实现一个分页的
15.limit 关键字,然后它有那个offset吧,offset0 和limit10以及offset100000和limit10,这两者中哪一个效率会更高一点?为什么
16.怎么解决这种问题
17. 主键游标这种方案你提到,就是根据ID那个主键对吧,WHERE id > 上一页最后一条的id,那这个时候我们优化器肯定会选择主键,我们怎么让这个sql强制读某一个索引呢?比如它这个字段同时有联合索引,我就想强制让他去走联合索引,而不要让优化器乱选
14.FORCE INDEX 有什么缺点么,除了这个办法还有其他方式么
15.了解MySQL覆盖索引吗?什么时候会触发索引下推
16.手撕:1.滑动窗口最大值 2. 给定一个大小为n的数组 nums其中包含一个出现次数超过 ⌊n/2⌋ 的多数元素(即该元素出现的次数比其他所有元素出现次数的总和还要多)找出并返回这个多数元素


