阿里一面,已挂在三面
阿里面试
1、自我介绍
2、项目介绍(秒杀系统)
3、集合用过哪些(ArrayList、LinkedList、HashMap、ConcurrentHashMap、TreeMap、TreeSet这些)
3、ArrayList和LinkedList区别
4、两个list求差集(没理解意思)
5、HashMp讲讲(说了1.7和1.8区别,自己还说了1.7会造成链表死循环)
6、死循环怎么造成的(balabala)
7、如何检测链表死循环(这里又理解错了,说了上线排查,给自己埋了一个坑,后面理解了,就是链表如何确认存在循环,这里说了双指针)
8、好,既然你说到上线排查,那你说说你用过哪些jvm指令(这里忘了。。。)
9、看你项目里用了Speing和Mybatis,那你说说看Spring吧(说了IOC和AOP)
10、bean的生命周期(把自己讲糊涂了,生命周期里面有好多好长的方法名和类名,记混了。。。)
11、Mybatis 原理以及如何与Mapper体育映射的(这可没了解过,直接说不会)
12、Mybatis缓存听说过没(这里说了下一级缓存和二级缓存)
13、问项目里的秒杀系统怎么设计的(这里主要说了下通过redis预减库存、消息队列异步下单)
14、缓存如何与数据库保持一致(先更新在删除)
15、如果缓存清空了,大量请求落到db上,怎么办(这里说了限流器,由于我也实现了一个简单的限流器,后面就接着问上了)
15、讲讲你的限流器怎么是实现的(漏桶算法,利用了atomic原子类balabala)
总结:总共面下来不到28分钟,每次遇到不会的就会说着一些有的没的,生怕沉默下去,面试官全程也不打断,感觉很友好,体验很棒。
#阿里巴巴##Java工程师##面经##校招#