滴滴橙心优选java二面面经

1. 项目细节,前缀树过滤敏感词的优化(没考虑)
2. spring 声明式事务
3. springboot为什么方便
4. mysql 事务在commit会发生什么?
5. 看过那些书?(回答了并发和jvm)
6. 线程同步除了锁和wait, 还有什么方式?(没听懂这个意思, 看见我不会又问了我一个简单点的,乐观锁和悲观锁的区别)
7. jvm中 cms和g1为什么要进行重新标记?
8. 紧接上个问题, cms和g1在并发删除中如何保证安全性?(一脸懵逼,面试官给我举了个例子,比如一个对象在标记的时候被标记为白色,但是在清除的时候又活过来了,并发清除的时候如何解决这种现象,继续一脸懵逼)
9. 算法题,开根号。

有咩有大佬帮忙解答6 8两个问题呀? 咋感觉这问的一个都不会😂
#面经##滴滴##实习##Java工程师#
全部评论
第八题应该是想问这个吧? 并发可达性扫描时出现“对象消失”问题的解决办法: 当且仅当两个条件同时满足时,会产生“对象消失”的问题: 标记进行时赋值器插入了一条或多条从存活对象到不可达对象的新引用; 标记进行时赋值器删除了全部从正在扫描对象到未扫描对象的直接或间接引用。 解决办法:增量更新和原始快照。 增量更新:破坏第一个条件,当存活对象插入新的指向不可达对象的引用关系时,就将这个新插入的引用记录下来,等并发扫描结束之后,再将这些记录过的引用关系中的存活对象为根,重新扫描一次。(CMS是基于这个来做并发标记的) 原始快照:破坏第二个条件,当正在扫描的对象删除了指向未扫描对象的引用时,就将这个要删除的引用记录下来,在并发扫描结束之后,再将这些记录过的引用关系中的对象(也就是刚刚说到的正在扫描的对象)作为根,重新扫描一次。(G1是基于这个来实现的)
点赞 回复
分享
发布于 2021-05-19 11:44
网络安全部分哪本书接触的到呢
点赞 回复
分享
发布于 2021-05-19 13:47
英特尔
校招火热招聘中
官网直投
7 为啥要重新标记?
点赞 回复
分享
发布于 2021-05-19 14:34
第六点我的理解是 除了锁(synchronized)和wait 之外,还可以有reentrantlock(可重入锁,newCondition,await notifyAll)可重入锁又可以扯到abstractqueuesynchronizer。然后其实这些都是属于悲观锁的范畴,然后就扯到乐观锁,例如cas啊 mvcc(通过版本号的形式来控制多线程同步问题?)啊这些。然后又可以扯到 redis 的 setnx 锁,引入第三方来达到锁的目的。 然后又可以扯到zookeeper 可惜我不会。。。
点赞 回复
分享
发布于 2021-05-19 15:39
第三个怎么答呢?lz
点赞 回复
分享
发布于 2021-05-19 15:56
第六题是不是就是问共享内存 消息传递 和管道通信?就是想问volatile signal 和 pipe?
点赞 回复
分享
发布于 2021-05-19 16:39
同学想不想试试字节教育啊?我们组大量缺人。
点赞 回复
分享
发布于 2021-05-19 16:40
橙心现在还在招人?
点赞 回复
分享
发布于 2021-05-19 20:24

相关推荐

5 32 评论
分享
牛客网
牛客企业服务