OPPO 后端 一面
#面试#
40min左右
大致问题如下:
1. 项目中收获最大,印象最深的技术或者难点
2. 什么是工厂模式?项目中怎么用到了
3. redis如何实现防止超卖,加锁加的是什么锁?
4. 如果不使用redis锁,在并发的情况下,单独依靠mysql怎么保证线程安全,防止超卖?
5. CAS、版本号,怎么避免CAS重试
6. Kafka怎么保证数据不丢失?
7. Kafka中如果leader宕机了,而follower没有同步完成,造成的数据丢失怎么避免?—— 配置问题
8. Kafka为什么一个分区只能由消费者组的一个消费者消费?这样设计的意义是什么?
9. Redis有哪些数据结构
10. 使用redis实现布隆过滤器?讲一下布隆过滤器的原理?
11. Redis的高可用体现在哪里?
12. Redis集群分区为什么使用散列插槽而不是用哈希
13. MySQL聚簇索引和非聚簇索引的区别?
14. 为什么MySQL索引使用B+树?
15. Java中的线程状态
16. Java线程池的创建方式
17. 线程池的参数
18. 任务丢进线程池的流程
19. Java中的synchronized和ReentrantLock的区别
20. ReentrantLock怎么实现可重入
21. AQS底层原理
反问点评:缺少实习经历,项目技术栈不深入,有待加强。
面试官人很好,会引导回答,可惜菜的是我,没有抓住机会
40min左右
大致问题如下:
1. 项目中收获最大,印象最深的技术或者难点
2. 什么是工厂模式?项目中怎么用到了
3. redis如何实现防止超卖,加锁加的是什么锁?
4. 如果不使用redis锁,在并发的情况下,单独依靠mysql怎么保证线程安全,防止超卖?
5. CAS、版本号,怎么避免CAS重试
6. Kafka怎么保证数据不丢失?
7. Kafka中如果leader宕机了,而follower没有同步完成,造成的数据丢失怎么避免?—— 配置问题
8. Kafka为什么一个分区只能由消费者组的一个消费者消费?这样设计的意义是什么?
9. Redis有哪些数据结构
10. 使用redis实现布隆过滤器?讲一下布隆过滤器的原理?
11. Redis的高可用体现在哪里?
12. Redis集群分区为什么使用散列插槽而不是用哈希
13. MySQL聚簇索引和非聚簇索引的区别?
14. 为什么MySQL索引使用B+树?
15. Java中的线程状态
16. Java线程池的创建方式
17. 线程池的参数
18. 任务丢进线程池的流程
19. Java中的synchronized和ReentrantLock的区别
20. ReentrantLock怎么实现可重入
21. AQS底层原理
反问点评:缺少实习经历,项目技术栈不深入,有待加强。
面试官人很好,会引导回答,可惜菜的是我,没有抓住机会
全部评论
羡慕
加油大佬
加油
大佬
加油同学
大佬厉害
大佬太强了
佬java项目是不是黑马点评呀,看着很像
老铁们看这里,hc多多
佬一面答的怎么样啊,约二面了吗
又要来我这儿冲一下的嘛,点我,哈哈哈

佬,投的哪里呀
都答出来吗?
羡慕 oppo直接把我挂了
相关推荐
点赞 评论 收藏
分享
2025-11-11 11:54
西昌学院 单片机 点赞 评论 收藏
分享
2025-11-07 03:09
深圳大学 C++
_Matrice_:差不多的性格,不然不会本科时硬杠cpp(那个时候还没有大模型,啃完一整本primer和习题,还是做不出来什么东西),还找不到方向,相比之下学习一些应用层的同学已经能够参考别人的方法做出实用的应用了。学东西,找实习,感觉更多地是出于和别人比较,而不是自我内驱。不过...正如deft所说,人生不需要他人的建议,所以也没有标准化的路径,在能够自食其力的背景下慢慢找到自己的生活方式吧...。另外面试很多时候看运气、眼缘 点赞 评论 收藏
分享