一次文思海辉面试经历

面试职位:java工程师 的面试

首先有一轮电话面试,大概15分钟。问了 spring的aop的原理, spring事务,mysq的事务隔离级别,mysq复合索引的原理和使用场景, hibernate级二级缓存, kafka原理,消息顺序消费等。然后是去公司现场面试,现场面试经过3个面试官。根据简历上写的情况问了 spring,这回基本是由浅入深的,先问 spring aop的原理,java, proxy和 cglib代理的区别。java, proxy的底层实现,能不能代理protected方法(这个没回答上来)然后面试官也没接着往下问了。然后问了mysq索引的原理,主键索引和唯一索引底层实现,使用索引的产生io的情况。(这个我回答得不好,一些底层实现细节我了解的也不是很详细,然后就没在往下问了)问了 volatile的底层原理,使用场景,问了 happensbefore的原则。问了线程池的实现原理(这个问题我回答错误,一直以为是线程数量 core size之后到max Size,然后放队列,面试官通过反问的形式指出了线程池这样设计的弊端,我回来重新看了下executorservice,是我回答错了)。 reeteantlock的原理,这个我也记不清楚了(大概说了是aqs,公平竞争和不公平竞争的原理我没回答清楚),然后面试官问了让我自己怎么来实现 reetreatlock。我说使用 volatile保存状态,竞争情况下使用链表做队列,面试官误导我使用 while死循环来实现阻塞,我纠正过来了,我说使用 locksupport,因为inux下底层是 mutex。然后面试官问lnux内核态和用户态切换的流程, linux的线程调度算法(这下完全懵逼了,回答地一塌糊涂)接着问了分布式的些问题:分布式事务。tcc柔性事务怎么实现。 ...

面试结果: 感觉靠谱

面试难度: 一般

面试感受: 一般

微信扫码下载

看准APP