面经详情

当前内容设置为仅微信小程序内可见

前往微信小程序

相关推荐

匿名用户
Java
确定通过确定通过
首先有一轮电话面试,大概15分钟。问了spring的aop的原理,spring事务,mysql的事务隔离级别,mysql复合索引的原理和使用场景,hibernate一级二级缓存,kafka原理,消息顺序消费等。 然后是去公司现场面试,现场面试经过3个面试官。根据简历上写的情况问了spring,这回基本是由浅入深的,先问spring aop的原理,java,proxy和cglib代理的区别。java,proxy的底层实现,能不能代理protected方法(这个没回答上来)然后面试官也没接着往下问了。然后问了mysql索引的原理,主键索引和唯一索引底层实现,使用索引的产生io的情况。(这个我回答得不好,一些底层实现细节我了解的也不是很详细,然后就没在往下问了)问了volatile的底层原理,使用场景,问了happens-before的原则。 问了线程池的实现原理(这个问题我回答错误,一直以为是线程数量coreSize之后到maxSize,然后放队列,面试官通过反问的形式指出了线程池这样设计的弊端,我回来重新看了下executorservice,是我回答错了)。reeteantlock的原理,这个我也记不清楚了(大概说了是aqs,公平竞争和不公平竞争的原理我没回答清楚),然后面试官问了让我自己怎么来实现reetreatlock。我说使用volatile保存状态,竞争情况下使用链表做队列,面试官误导我使用while死循环来实现阻塞,我纠正过来了,我说使用locksupport,因为linux下底层是mutex。 然后面试官问linux内核态和用户态切换的流程,linux的线程调度算法(这下完全懵逼了,回答地一塌糊涂)接着问了分布式的一些问题:分布式事务。tcc柔性事务怎么实现。这块儿我接触得比较少。大概说了一些我自己的实现思路,每一步记录redolog和undolog,要设计幂等,设计事务补偿机制,回答的不是很系统。然后面试官问两个第三方的服务,没有提供补偿功能,如何实现事务操作。 第二个面试官面试的时间比较短,问的问题也相对开放,我回答的也很多。问了我怎么进行的代码重构(我简历上写了经常进行代码重构)。然后问了我怎么阅读源代码,怎么学习一个新的框架的(我简历上写了经常阅读源代码)。我以angular,vue举了例子,怎么阅读他们的源代码,评价了他们的设计和架构。然后问了我更看好哪个。大概就是这么些问题。然后是hr面试,hr小哥哥说话很客气,很有礼貌。 总结一下这次面试。其实就是不断的问你问题。你回答上来了,他就问得更细,直到你不知道为止。这次面试虽然勉强通过,收到了offer,但是也认识到自己的不足,还要多多打基础才行。 ...查看更多
2 年前 发布
4

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网饿了么饿了么面试经验饿了么面试经验:第二次面试饿了么