Java后端实习生一面第一个环节是群面(一个技术面试官对线三个实习生,我和另外的BC):Java语言里面随便找个技术点来说说吧?给我的是ConcurrentHashMap在JDK1.7和1.8的区别,讲讲它的源码,粗略过了一遍,讲到了JDK1.8的时候put操作后size增加的实现引申了一下LongAdder的实现。他的源码里面你也提到大量用了CAS的思想,你说说实际的业务开发过程中CAS在哪里用到过?Mybatis配置乐观锁的时候给数据带上版本号这个扩展。有没有实际上去测试过这个源码呢?通过Debug的形式有测试过。B说的是synchronized的锁升级过程,问到这个锁升级的过程是否可以借鉴到业务的开发里面;C说的是反射机制,引申到了Spring里面的AOP思想的实现。第二个环节是项目面,这个环节大家的项目都不一样,不记录其他人的了。可以说一说你做的这些项目里面印象比较深刻的一个点吗?把预约挂号的时候的一个并发超卖问题的解决从服务器加锁方案到基于Redis的加锁以及基于MySQL提供的事务写锁这三种方式来进行(之前面试的时候面试官有提到说尽量不要引入中间件,可以采用select for update的操作避免超卖,我这里学习了这种说法);其实引不引入中间件还是取决于业务,如果你基于MySQL的锁的话那么其实会导致大量线程处于阻塞状态,所以在实际的开发中我们还是会尝试去使用分布式锁的。我看你之前还是偏算法岗的怎么来转开发了?说了我对这两个岗位的理解和看法。反问环节。11.11 Update:已OC
点赞 4
评论 2
全部评论
哥们也是浙软的吗?
点赞
送花
回复
分享
发布于 2023-11-11 00:11 浙江

相关推荐

投递阿里巴巴控股集团等公司7个岗位 >
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务