前言
就在前段时间,蚂蚁金服给我确认了职位。在面试蚂蚁之前,之前也面试过很多其他的公司,最终呢,还是拿到了蚂蚁金服的offer。
这也算自己到了另一个奋斗的阶段了。对自己的经历,做一个面试总结。
蚂蚁金服(支付宝)一面 – 视频面试 50分钟
- 聊了十多分钟做的项目
- 你们公司自研的Spring和市面上流行的Spring有什么不一样
- Redis主要用来干嘛的
- Redis的持久化方式
- Redis的事务有了解吗(我说了使用的基本命令和mybatis、mysql的区别)
- 你对你们经常使用的集合底层有了解吗
- HashMap的底层原理,1.8以及之前的,线程安全实现方式
- Sychonized和ReentrantLock 的区别
- Volatile的作用是什么
- 对JVM垃圾回收器有了解吗
- CMS垃圾回收器说一下工作原理
- 堆和栈的区别
- JVM的调优
- try{}catch{}finally{}中,如果finally{}中的返回值+1,返回的是多少,会改变返回结果吗
- 线程池有了解吗,它的工作原理
- 固定长度的线程池有什么缺点
- Mysql和Oracle你用的最大的区别是什么(我说了两者的事务隔离级别,以及mysql中的Explain和oracle当中的Explainplan for的区别)
- Mysql的聚簇索引和非聚簇索引有了解吗
- 看你做过Sql优化,讲讲你做了哪些优化
- Mysql回表知道是什么吗
- SpringMVC的工作流程是什么
- 一道简单的算法题,反转链表,我说这题我前段时间专门leetcode上练过,我算法不好,这段时间主要是复习基础了,面试官夸我基础很扎实,应该二面稳了,面试体检极佳。
蚂蚁金服(支付宝)二面 – 视频面试 40分钟
- 是个小姐姐程序员,聊了聊项目
- 问了下我们公司现在项目用到的技术栈
- 和一面一样问了下我们公司自研的Spring有哪些不一样
- 同样讲了讲oracle和mysql的区别
- 讲讲不可重复读是什么
- Jdk1.8有了解过CompletableFuture吗(我没有了解过,流下来没技术的眼泪)
- 那你知道Future吗(好像是Callable的时候返回值会用到它,又流下了没技术的眼泪)
- 写一个算法题吧,牛客网的 密码合格校验,写了十多分钟,全是靠if else解决的
- 小姐姐也说,这个写的没问题,但是需要更多的考虑更好的办法,比如借助java自带的工具类等等。
- 说一些和技术无关的,你对你自己的技术发展有什么想法(我就说,平时会多看看技术公众号,看B站学习技术,会关注很多新技术然后跟着学习,想去更大的平台通过实际场景的应用丰富自己的阅历)

点我主页获得领取方式,暗号: j j 。
美团(美团打车)一面 – 视频面试 40分钟
- String,StringBuild,StringBuff的区别
- StringBuff为什么是线程安全的
- ArrayList和LinkedList的区别是什么
- 以上二位是线程安全的吗,怎么实现线程安全
- Vector实现线程安全的原理是什么
- 多线程编程中你知道哪些都是保证线程安全的
- Volatile的底层实现是什么
- 线程池了解吗,说说工作原理
- 内存溢出说一下
- 栈溢出说一下
- 要实现一个OOM和栈溢出,怎么实现
- 说一下你常用的垃圾回收器
- Stop the world 解释一下
- CMS的工作流程是什么
- Spring中bean的作用域
- Spring中bean的生命周期说一下
- 说一下你在项目中遇到的印象深刻的问题是什么,有什么收获
- Redis的持久化怎么实现的
- 写一道编程题,leetcode 第一道经典题目–两数之和
- 对美团打车有什么想了解的吗(问了下美团打车和滴滴高德打车的区别)
字节跳动 视频面试 – 30分钟
- 简单介绍了一下项目
- HashMap介绍一下
- 为什么要用红黑树的结构
- 红黑树一般都会用在哪些场景中
- Oracle的索引了解吗
- Mysql的索引底层实现是什么
- B+树的实现原理了解吗
- Mysql事务特性了解吗,具体说一说
- Mysql的事务隔离级别了解吗
- Mysql的事务隔离级别是怎么实现的
- 算法题:[(5,7),(1,6),(15,50),(60,90),(35,37)] 合并二元数组
输出[(1,7),(15,50),(60,90)] - 算法题:分层打印二叉树
- 算法题:反转链表起网络
一般技术面到后面,面试官都是leader或者是部门老大,他们其实很关心你的职业规划、对待工作的态度、团队合作的能力、自我价值实现方面的思考,当然还有项目实现的能力,过往项目经验和深度。所以最好自己先想想怎么用简短的话表述清楚。注意围绕关键词去说。

点我主页获得领取方式,暗号: j j 。
写给各位攻城狮的话
一定要紧跟技术前进的脚步,尤其是大数据相关的技术,在技术更迭的时候一定要学习熟悉新技术,看源码,哪怕自己在工作中用不到也一定要学。因为这是你下一份工作的敲门砖。
作为一个程序员,在一家公司工作,不逼迫自己学习新技术,现在面试就会碰壁,其实大部分原因就是人家用的都是主流技术,你不会你就被淘汰。
不要给自己设置舒适区,这个就是说,一个公司待久了不要懒惰,不能荒废自己,始终要保持清醒的头脑和进取心,不断学习,不断完善自己的技术,架构设计能力,项目管理能力,交付能力等。
一定要及时从项目中总结经验和不足,最好落实到日记本中,最后通过不断思考,形成自己的做事方法论。
最后在这边跟大家分享一些一线大厂Java面试题,希望能给后续想要去面试阿里巴巴等一线互联网大厂的小伙伴一些帮助!学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。
点我主页获得领取方式,暗号: j j 。
另外还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。
