阿里秋招内推1.2.3面面经
2:两个线程打印1.2.3.4打印到100怎么实现,这里刚开始说的是加锁用生产者消费者来做,后来说了semaphore,感觉后面的才是面试官想要的答案。
3:spring的aop的实现方式,aspectj和jdk动态***,cglib动态***,讲了下实现的原理
4:hashmap实现原理,把知道的都说出来。
1.缓存的使用策略和从底层数据库开始往上各个层级中缓存的使用,把你知道的都说出来,这个问题刚开始有点懵逼,后来就从数据库底层原理开始说起,然后讲了缓存的各种使用策略,和这些策略避免的什么问题,这里讲了好久,边说边被追问,里面涉及到各种缓存击穿,缓存穿透,缓存雪崩,互斥锁等内容
2.假如双十一等一些促销有高并发访问量要来访问我们的数据,怎么样做到可靠的服务,这个问题我说了很多处理高并发的东西,但是好像不是最终答案,好像是问题没听太明白,不过不影响
接下来是项目,也是深挖了好多东西,怼了半天,
通用的问题还有:
1.jvm虚拟机老年代什么情况下会发生gc,给你一个场景,一台4核8G的服务器,每隔两个小时就要出现一次老年代gc,现在有日志,怎么分析是哪里出了问题
2.springboot和spring的区别
3.你是怎么保证你的代码质量和正确性的
三面:没有任何基础知识,上来直接问项目,项目问了很多,然后从项目引申到具体的业务场景:
1消息队列的生产者消费者中消费者没有收到消息怎么办,消息有顺序比如1.2.3但是收到的却是1.3.2怎么办?消息发过来的过程中损坏或者出错怎么办
2下单过程中是下订单减库存还是付款减库存,分析一下两者的优劣
#面经##内推##秋招##阿里巴巴#