B站哔哩OGV面经JAVA(一面已挂)
40分钟 自我介绍
1.项目相关 是否上线,怎么分工,是否投入让其他人使用。
2.论坛类项目,点赞怎么设计,怎么实现类似于B站的点赞系统。怎么实现用户获得这边点赞数据查询的即时性。
3.使用了redis,介绍redis基本数据结构,讲一下String底层实现。
4.项目中使用了多线程的内容,哪里有使用到。线程池怎么使用,具体的参数,拒绝策略、线程工厂怎么设计。
5. 订单系统设计 ,同一订单多用户去抢,怎么只产生一个。 介绍了基于单机的redis锁,让介绍升级为分布式锁,不用redis的话怎么实现这个分布式锁,(回答用zookeeper),介绍zookeeper和redis在实现过程中的优劣对比。
6. mysql聚簇索引(直接开背八股,看上去不满意的样子)
走索引的问题,有一个a,b,c的索引,select a,b,c where a=? and c>?,问怎么走的索引。
select a,b,c,d和上述有啥区别。
7. 事务隔离级别,个人使用的事务隔离级别,(默认用的可重复读),可重复读下,5—10范围内有3个数据
事务A:select where 大于5小于10 for update
更新里面的数据 再select
事务B: insert
问事务A最后查到的是啥,回答(B被阻塞,查到A修改后的数据) 问确定话,回答确定。
个人结束后编码查了一下 确实是修改后的
其他的可能忘了还有什么问题,想起来再补充。
个人感觉回答出来了大部分,最后挂了
1.项目相关 是否上线,怎么分工,是否投入让其他人使用。
2.论坛类项目,点赞怎么设计,怎么实现类似于B站的点赞系统。怎么实现用户获得这边点赞数据查询的即时性。
3.使用了redis,介绍redis基本数据结构,讲一下String底层实现。
4.项目中使用了多线程的内容,哪里有使用到。线程池怎么使用,具体的参数,拒绝策略、线程工厂怎么设计。
5. 订单系统设计 ,同一订单多用户去抢,怎么只产生一个。 介绍了基于单机的redis锁,让介绍升级为分布式锁,不用redis的话怎么实现这个分布式锁,(回答用zookeeper),介绍zookeeper和redis在实现过程中的优劣对比。
6. mysql聚簇索引(直接开背八股,看上去不满意的样子)
走索引的问题,有一个a,b,c的索引,select a,b,c where a=? and c>?,问怎么走的索引。
select a,b,c,d和上述有啥区别。
7. 事务隔离级别,个人使用的事务隔离级别,(默认用的可重复读),可重复读下,5—10范围内有3个数据
事务A:select where 大于5小于10 for update
更新里面的数据 再select
事务B: insert
问事务A最后查到的是啥,回答(B被阻塞,查到A修改后的数据) 问确定话,回答确定。
个人结束后编码查了一下 确实是修改后的
其他的可能忘了还有什么问题,想起来再补充。
个人感觉回答出来了大部分,最后挂了
全部评论
问的都是你项目相关的吗 还是场景题
发感谢信了吗
在设计订单系统时,需要考虑高并发情况下的性能问题,一共几次面试
讨论问题7:B事务不会被阻塞吧?(insert没有在5-10范围内);A为什么查询到的是修改后的数据呢?不是被行锁住了吗
啊啊啊??阿B开了吗😋

科聪佬做的啥项目呀
大佬,项目里是怎么用到多线程的,哪个模块
科聪?
呃,明天面ogv
对问题有想法的朋友们可以交流一下
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享