阿里巴巴Java社招面经
一面(电话面)
在第一次面试中主要针对于之前所做的项目询问了一些细节。Java方面的问题则提问了Servelt的生命周期,线程的状态,加密算法(非对称,对称,MD5)以及数据库事务ACID四大特性。
二面(电话面)
在第二次面试中,面试官问到了Java的内存模型(原子性,有序性,可见性),ava中集合的层次,JVM的垃圾回收机制,HashMap、Hashtable、ConcurrentHashMap的区别,同步器实现机制。还问了我使用过哪些ORM框架,有一次问到了数据库事务的四大特性,还问了注解处理器,以及原子类底层机制(cas, Unsafe)以及快排实现方式。
三面(视频面)
第三次面试中,问了一些相关的技术问题了,主要问了ES的检索机制(query-then-fetch),其次还针对于一些具体的场景设定问了更多的问题,面试官问如果现在要搜一个词,按相关度排序,如何获取排名在(100-120)之间的文档,针对于“用户打车付款-滴滴后台-支付宝后台”设计一个一致性处理方案,此外还问了数据库事务特性以及隔离级别等。