阿里秋招内推1.2.3面面经(Java后台)
【每日一语】生活并没有那么复杂,要是你喜欢,大可以说我是在探索生命。——《本杰明•巴顿奇事》 offer已经算是有了,回馈牛客,在牛客网上我也学习到了很多大家分享出来的东西,是时候把自己秋招的面经分享出来积累人品了,最近在做一个人生中最重要的决定,希望结果是好的,攒人品!攒人品!攒人品!重要的话要说三遍!!! 一面,全程一个小时左右: 一上来先说自己实习做的项目,然后面试官开始问项目细节,然后又开始说学校里做的项目,这两个加起来就快四十分钟了,因为每个人项目不一样就不介绍跟项目关系太大的,说几个通用型问题1:为什么你的缓存更新策略是先更新数据库后删除缓存,讲讲其他的情况有什么问题 2:两个线程打印 1.2.3.4 打印到100怎么实现,这里刚开始说的是加锁用生产者消费者来做,后来说了semaphore,感觉后面的才是面试官想要的答案。 3:spring的aop的实现方式,aspectj和jdk动态代理,cglib动态代理,讲了下实现的原理 4:hashmap实现原理,把知道的都说出来。 二面,在周二,也是一个多小时,一来还是说的实习项目,然后直接问问题 1.缓存的使用策略和从底层数据库开始往上各个层级中缓存的使用,把你知道的都说出来,这个问题刚开始有点懵逼,后来就从数据库底层原理开始说起,然后讲了缓存的各种使用策略,和这些策略避免的什么问题,这里讲了好久,边说边被追问