Boss直聘后端一面社招

1、介绍自己做过的项目--->项目中的难点(你怎么解决和思考的)

2、java的基础知识:

2.1、问了hashMap底层原理,以及为什么hashMap线程不安全。

我说了一下数组+链表+红黑树(1.8),在链表长度链表长度 > 8 且数组长度 ≥ 64 时,链表转为红黑树,红黑树节点数 < 6 时,退化为链表。hashMap的内部操作不是原子性的,在多线程情况下会出现数据覆盖和丢失问题。比如两个线程同时put,发现key的hash位置为空。线程a挂起,线程b写入,随后A恢复,会直接覆盖b的数据。

2.2、GC垃圾回收算法

我说了分代收集法、复制算法、标记清楚法,以及他们的优缺点

2.3、JVM调优问题

我说了调优的一般流程:看CPU信息、看JVM内存指标、看JVM GC指标,以及一些常用指令。

2.4、给了一个具体的案例问题进行分析

问题:一个业务正常运行了一个月,逻辑是一个简单的查询服务,现在突然报警,数据库连接池耗尽,问可能的原因

答:

1、连接泄露(错误答案,因为业务正常运行了一个月)

2、maxLifitime过大,连接长期存活,但因为网络问题被服务端断开,而连接池未及时检查,导致死链接

3、业务运行一个月后用户/数据量发生较大变化,导致最初的连接池配置有问题

2.5、问如何实现一个百米赛跑问题,有1000人参加,每次8个人比赛,最后得到比赛结果

一个多线程问题,核心点在于如何模拟8个人同时开跑,即8个线程同时运行。我没答上来,应该用栅栏机制解决

2.6、RocketMQ消息队列,具体在哪些场景下应用了(因为我项目中提到了使用了消息队列)

2.7、问有没有看过java源码

回答只看过spring boot关于反射的一些源码,面试官也没再问,并建议我多看些。

总结:一面面试官应该挺满意的,面试完半小时就收到了二面通知。

ps:为什么会有三轮技术面,太折磨了。另外本人两年工作经验,求问大家社招怎么准备的

#社招##后端##面经#
全部评论

相关推荐

昨天 14:46
已编辑
景德镇陶瓷大学 Web前端
点赞 评论 收藏
分享
昨天 00:39
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务