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底层原理
反问点评:缺少实习经历,项目技术栈不深入,有待加强。
面试官人很好,会引导回答,可惜菜的是我,没有抓住机会
全部评论
加油大佬
羡慕
加油
加油同学
大佬
大佬太强了
大佬厉害
羡慕 oppo直接把我挂了
都答出来吗?
佬,投的哪里呀
又要来我这儿冲一下的嘛,点我,哈哈哈
加个v一起交流呀
佬一面答的怎么样啊,约二面了吗
老铁们看这里,hc多多
佬java项目是不是黑马点评呀,看着很像
相关推荐
11-01 11:27
浙江大学 Java 点赞 评论 收藏
分享
11-07 09:51
东北大学 Java 点赞 评论 收藏
分享