高德后端
过往面试题,没过
1. 自我介绍
2. 有没有自己做过项目
3. 小红书离职原因
4. HashMap底层数据结构
链表树化的条件【链表长度大于8,map容量超过64】
为什么这么设计【结合内存开销和性能考虑】
key一直有冲突,怎么办
5. 介绍ConcurrentHashMap
6. 说下CAS和synchronized锁的区别?
7. Java的垃圾回收机制?
8. 项目介绍
数据存储是单表存储的吗,表的数据上限是多少,存一个亿可以吗?
单表超过5kw行或者容量超过2GB,考虑分库分表
订单表数据量很多,怎么做分库分表键?分库分表了解吗?
分库解决并发量大,数据库的连接数量有限,如果分库了,用户怎么知道请求打在哪个机器上了
分表把订单、物流、商品、会员等单独放到单独的数据库中
9. MySQL底层数据结构?为什么用B+树?为什么不用B树
10. MySQL聚簇索引了解吗?有什么方式能不回表?
select id name from table where name ='ls' -- 不回表
select * from table where name ='ls' -- 回表
11. MVCC了解吗,可以解决为什么问题,不同隔离级别下MVCC的处理方式有什么不一样
12. Redis在项目中的使用场景
13. Redis除了分布式锁还能做什么
如何做限流,如何实现