阿里秋招内推1.2.3面面经(Java后台)

【每日一语】生活并没有那么复杂,要是你喜欢,大可以说我是在探索生命。——《本杰明•巴顿奇事》

offer已经算是有了,回馈牛客,在牛客网上我也学习到了很多大家分享出来的东西,是时候把自己秋招的面经分享出来积累人品了,最近在做一个人生中最重要的决定,希望结果是好的,攒人品!攒人品!攒人品!重要的话要说三遍!!!

一面,全程一个小时左右:

一上来先说自己实习做的项目,然后面试官开始问项目细节,然后又开始说学校里做的项目,这两个加起来就快四十分钟了,因为每个人项目不一样就不介绍跟项目关系太大的,说几个通用型问题1:为什么你的缓存更新策略是先更新数据库后删除缓存,讲讲其他的情况有什么问题

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下单过程中是下订单减库存还是付款减库存,分析一下两者的优劣

3 高并发场景的限流,你怎么来确定限流限多少,模拟场景和实际场景有区别怎么解决,动态改变限流阀值遇到的问题

总的来说三场面试都没什么我那看了那么久的基础知识的用武之地,主要还是看你怎么能够把知识和实际情况能够结合起来,毕竟校招,考察的还是一个人的学习能力和一种思维

话说最近真的是很纠结,选择比努力重要,衷心希望大家都能找到满意的工作

点击作者姓名与作者大佬交流~

作者:沉迷于学习无法自拔

来源:牛客网(www.nowcoder.com)

- 互联网名企笔试真题

- 校招求职笔经&面经

- 程序员/产品/运营求职实习信息

- 程序员/产品/运营学习交流社区

猜你喜欢

转载自www.cnblogs.com/nowcoder2018/p/9346712.html