本科双非,硕士211,专业都是通信;
-有过两段互联网实习经历(第一段时间很短,因为一些不可抗因素提前结束了,很遗憾。第二段时间3个月);
-其余项目都是以前学习过程中练手做的项目,比较水;
-找实习之前重点系统学了下多线程和jvm,其他的基本都是啃以前的老本以及面试期间的面向面经学习
-投递岗位:Java研发
-ps:面了两个部门因为在等第一个部门意向书的时候被鸽了
面经均是面完根据回忆记录的,顺序上可能不完全一致
话不多说,先上面经:
(时间线在面经后)
1.限流、降级是是怎么做的
2.限流算法有哪些了解过吗
3.sentinel你觉得用的滑动时间窗口还是滚动时间窗口
4.让你设计一个滑动时间窗口 怎么设计 统计时间共存区域(用环结构)
5.熔断和降级有什么区别(降级是主动 熔断是被动)
6.消息队列的原理是怎样的清楚吗(文件存储类型 底层)
7.消息队列如何保证高可用的
(1-7和实习项目相关)
8.如何理解一个类是线程安全的(java中有什么方法实现线程安全)
9.挑一个你熟悉的类 说下底层结构(原理)
10.分布式锁用过吗
11.redis的分布式锁具体怎么用的
12.分布式锁情景题:一台机器上锁的超时时间为10s 一台机器处理业务超时了还没处理完 怎么办(延长超时时间)
13.mysql事务隔离级别
14.如何实现的(原理)
15.存储引擎的适用场景
16.共享锁和独占锁sql语句
17.jvm的GC机制
18.参数设置和调优做过吗
19.哪些对象可以作为GC Roots
1.自我总结一下
2.介绍一下这个系统的架构 具体解决了什么问题(实习项目)
3.你做的模块的架构介绍一下 通用性特点
4.动态代理和动态字节码织入有什么区别
5.反射和cglib的区别
6.给你一个场景 转账的操作想要qps能达到上千(余额改变达到一秒上千的qps)该如何设计
7.乐观锁和悲观锁的使用场景
8.解决死锁的方法
9.系统的风险控制和信用积分具体怎么实现(实习项目)
10.了解哪些设计模式(单例 工厂 装饰器 模板方法模式)
11.介绍一下模板方法模式 如何实现
12.介绍一下堆内存结构
13.栈和堆的区别
14.线上OOM了 让你排查 你怎么做
15.自己有什么特点 对未来的规划
16.为什么打算做现在这个方向
17.反问 评价
2021.3.9左右 蚂蚁A部门三面(主管面应该) 电话15min左右
1.自我总结一下
2.介绍项目
2.说一下项目中哪次经历让你印象最深刻
3.你有什么特点
4.职业规划
5.反问 部门业务 实习生来参与什么工作
(还有几个问题忘了,总之三面问的就比较宽泛了)
1.自我介绍一下 重点说一下你的项目
2.那一次经历让你印象最深 成长最快
3.刚刚说的是泛说 我们再详细一下 那个画面让你印象最深
4.你刚刚说了实习和自己做项目不一样,说一下区别
4.我可以理解为是因为工作量的饱和 让你印象最深吗
5.有遇到过什么挫折 困难吗 实习经历中
6.在第二家公司干了3个月 不长不短 怎么想的
6.说下你的职业规划吧
7.为什么喜欢金融互联网
8.现在让你来我们部门有什么顾虑吗
9.你想来杭州是吧
10.你什么时候毕业
11.什么时间可以实习
02.26投递
03.03一面 (第二天二面面试官打电话约二面)
03.05二面 (面完问评价 说广度和深度都不错 听语气应该能过)
03.08笔试 (做得不好。。)
03.09三面(正在吃烤鱼 看0571杭州的号打过来了,突然袭击,在楼梯口面了三面)当晚通知过
03.14 周日上午hr打电话约面 无奈我开了飞行在睡觉没听到电话。。。
03.15 晚上8点多接到hr助理约面试电话,约了第二天下午三点
03.16 hr面(也是返校日,在高铁上准备的hr面,下午三点在学校一个空教室面的,没插座坐讲台上面的)
03.17 补了一轮笔试
03.21 周日 通知hr面过(说基本可以确定拿offer了,让我等着就行,心里石头放下了,现在回想起来,自己还是天真)
04.01 被内推人电话通知凉凉 因为某些原因。。
第一个部门的流程到此算是告一段落了,hr面完等了16天,期间已告知肯定会发意向书,最后还是被鸽,有无力,有气愤,但也只能接受然后重整旗鼓。也算是被上了一课吧,所以也有了接下来幸运的经历。
AB部门分割线
04.01当晚联系了t老哥 帮我引荐了B部门的师兄 投递了简历
04.02 A部门那边帮把流程转到了B部门
开启新一轮的面试(B部门)
(时间线在面经后)
1.自我介绍
2.保证系统高可用有哪些设计思路
3.限流、降级、网关这一块开发具体实现流程、思路(这块问的时间挺长)
4.redis分布式锁用过吗
5.具体怎么用的
6.java8 stream流的api提供了哪些函数,除了map、filter
7.了解FunctionalInterface吗 说下特点 具体使用场景
8.redis缓存和map、哈希表等做缓存有什么区别
9.jvm 堆栈各自存放内容
10.Java容器 ArrayList和LinkedList区别
11.线程创建的方式
…
反问:评价、部门业务
主要问了这些 还有一些java基础 想不起来了 但是不难
1.自我介绍
2.对微服务的理解
3.微服务的优缺点
4.保证系统可靠性的方式(答了限流、降级、熔断、排队、消息队列、超时和重传机制)
5.什么样的微服务算好的微服务(答了CAP理论,微服务的使用场景)
6.限流器的实现思路
7.RBAC说一下
8.场景:A服务依赖B服务依赖C服务,C服务的RP(响应时间)变长,如何减小A、B服务受到的影响(zookeeper服务治理的思路、核心业务多点备份)
9.有多个微服务,怎么计算两个微服务的相似度
反问:面评、实习生培养,面试官主动给我说了后面的流程(说应该还有最后一轮面试)。
面试官整体给人感觉非常nice,没有压迫感,很轻松。
1.自我介绍
2.为什么选择Java 什么机会让你接触到java的
3.参加比赛遇到了什么困难
4.怎么克服困难的
5.比赛项目要求是怎么评估自己可以完成的
4.遇到过最大的挫折或者困难
5.坚持最久的一件事
6.家庭情况等
7.读研期间最大的收获是什么
8.本科学校选择出于什么考虑的
9.本科学校最好的专业是什么
10.gap了一年因为什么原因
……
反问:实习生培养机制,后续流程
等等类似的问题,最好是自己真实的经历,因为hr会深问。
hr面总体感觉挺好的,hr很友好,问问题时时而认真时而会笑,问后续流程主动给我说了最后一轮大主管面可能会在周末或者周一。
先问了下之前A部门那边面试的情况
1.自我介绍
2.介绍下最有挑战性的一个项目
3.遇到困难是如何解决的
4.一个好的系统的设计原则有哪些 了解吗
5.代码设计和重构这一块有具体经历吗
6.运用设计模式会带来什么好处
7.读过哪些代码设计和重构方面的书籍
8.除了代码设计和重构 还看过那些技术方面的书籍
9.看过开源产品的源码吗
10.在校成绩
11.职业规划是怎么样的
12.想达到你三年的目标 你觉得会遇到什么样的困难
13.学习技术过程中觉得比较难的点
14.看过Linux源码吗
反问:实习生培养机制 评价
压迫感没有想象中那么大,说话比较语气比较平和,比较看重代码设计、重构能力,以及代码底层的掌握程度
04.01 投递简历
04.04 一面 (清明节当天)
04.09 二面(晚上面的)
04.15 hr面
04.19 三面
04.21 收到的意向书
B部门的面试体验总体感觉很佳,从一面到四面结束共17天,最后一面面完第三天就发意向了。过程中内推师兄也及时帮忙跟进进度,尽快帮你安排面试,总之非常感谢B部门此次给予的宝贵机会了,感激。
在这里实名感谢下t老哥和B部门帮我内推的师兄,t老哥在B部门的面试中一直carry着我,没有他可能我也过不了hhh,师兄也灰常给力,全程帮我安排的妥妥的,流程很快,及时跟进与反馈,面试过程中也会给我打气,此时此刻,已觉得自己很幸运了。感谢过程帮助我的人,感谢一起并肩作战的室友、小伙伴,感谢牛客。
一点总结:阿里的面试对项目和基础很看重(貌似大部分厂都是这样hhh),面试过程中有一位面试官对我提了一条很有建设性的意见:你的项目中用到的某项技术可能你只是接触了某个点,但是你需要由点扩展成面,以此来增加你对该技术的广度和深度,这样你在面试中也能获得主动权。后期我对项目的准备也是按照这个方向来的,希望能对大家有一点儿帮助。到这顺带夸一下阿里的面试官,启发性和引导性没得说,通过阿里春招近10轮的面试(之前还有两轮挂了),每次面试都能给自己带来一些提高,包括技术方面或者学习方法方面,所以在求职过程中感觉能早投就早投,能多面就多面,面向面试学习,认为是一种高效的方式,个人拙见hhh。
好了,码了那么多字,有一点乱,也有很多流水账hhh,我的春招到此也算结束了,仅提供一些个人感想,仅供参考,祝还在战斗的小伙伴早日拿到自己的dream offer!!
在文章的最后作者为大家整理了很多资料!包括java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书等等!