泪目!跳槽太不容易,蚂蚁金服三轮面试,四个小时灵魂拷问

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 本人是双非院校科班研究生,Java开发3年工作经验,以下是最近的面试总结:先说下我的面试准备经历,为了保证自己简历有较大一定的概率通过筛选,我在2018毕业后面试了多家公司,去了一家上海一家小公司一直工作到今年5月。和往年相比,今年的金三银四看上去不是那么顺利,可能和我的准备不足有关,但是令我惊讶的是第一家给我面试机会的公司竟然是阿里巴巴。一开始接到面试通知时,心情特别复杂,紧张又兴奋,阿里巴巴是出了名的深挖项目实战,实际上我项目部分是相对薄弱的。这次面试,一共三轮,共计四个小时左右,这三轮面试对我来说,简直是灵魂拷问,至于结局,往下看吧!

本人是双非院校科班研究生,Java开发3年工作经验,以下是最近的面试总结:

先说下我的面试准备经历,为了保证自己简历有较大一定的概率通过筛选,我在2018毕业后面试了多家公司,去了一家上海一家小公司一直工作到今年5月。

和往年相比,今年的金三银四看上去不是那么顺利,可能和我的准备不足有关,但是令我惊讶的是第一家给我面试机会的公司竟然是阿里巴巴。一开始接到面试通知时,心情特别复杂,紧张又兴奋,阿里巴巴是出了名的深挖项目实战,实际上我项目部分是相对薄弱的。这次面试,一共三轮,共计四个小时左右,这三轮面试对我来说,简直是灵魂拷问,至于结局,往下看吧!


蚂蚁基本是电话面。第一面leader面,第二面总监面,第三面交叉面。


第一轮面试:1小时28分钟


面试官问的面试题:

  • 最近做的项目介绍一下
  • 做的过程中遇到了什么问题,如何解决的
  • redis集群高可用原理,一台挂了,怎么切换到另一台
  • 如何保证redis和mysql数据一致
  • 数据库事务
  • 很大的表如何优化
  • limit的局限性,limit值很大的时候有什么问题
  • mysql锁介绍一下,有哪些应用场景
  • 索引失效的场景
  • 线程的生命周期
  • 线程池很高怎么处理
  • 在分布式任务中,一个微服务的很多线程报错,如何处理和定位
  • JVM内存分为哪几块
  • 介绍一下垃圾回收机制
  • 有没有阅读JDK源码的习惯


第二轮面试:1小时11分钟


  1. ThreadLocal原理,放在堆还是栈。用过吗?
  2. Sync 可以作用在哪里? 有什么区别?Sync的底层原理?
  3. 轻量级锁升级成重量级锁会有开销?有没有什么办法让锁不升级?上来就用重量级锁?
  4. aop原理,实际使用过吗?
  5. Springboot的使用过程中,有哪些觉得比较方便的地方?
  6. 对spring的核心原理有哪些了解?会根据所答来进行深入的问。
  7. Spring实例化bean的时候会实例化所有的bean吗?
  8. Spring实例化的时候需要先构建一个实例吗?
  9. Bean的循环依赖是怎么解决的?
  10. 项目中为什么使用Redis?
  11. Redis的性能优化你如何实现?
  12. 从底层实现角度讲讲Redis为什么快?
  13. 线上Redis有哪些事项需要注意?
  14. 线上如何让Redis 6.x性能发挥到最大?
  15. 线上Redis持久化方案如何选型?为什么?
  16. 谈谈Redis底层多路复用实现细节
  17. 有没有使用Redis做过设计呢?
  18. JVM的调优大致步骤?
  19. Jvm的收集器有哪些?各自的优点和缺点?以及各自的回收算法?
  20. Sql的优化?sql语句本身的优化?sql所用到索引的优化?
  21. 哪些情况会导致sql的索引失效?
  22. 索引的底层结构以及优缺点?


第三轮面试交叉面:1小时15分钟


  1. 项目相关的问题
  2. 秒杀项目需要考虑的问题
  3. 秒杀场景用到分布式锁的情况,
  4. 服务隔离是如何做的,假设没有分库分表的情况下,服务如何做隔离
  5. 数据库CPU占用率高的原因
  6. 磁盘总空间50G,统计出来的空间有30G,剩余20G可能去哪里了
  7. 限流如何去做,不用redis,还可以怎么实现(令牌桶,滑动窗口)
  8. 项目转变成微服务后遇到的问题,如何解决,
  9. 分布式事物的实现原理(我自己引上来的TCC的分布式事物)
  10. RocketMQ问得较多(呜..没有答好)
  11. 在RocketMQ的群组消费中,每个消费组都会消费主题的一份全量消息吗?为什么?
  12. 假设一个RocketMQ集群部署在两个机房,每个机房都有一些NameServer、Broker和客户端节点,当两个机房间的链路中断时,NameServer、Broker能不能正常提供服务?为什么?
  13. 如果不需要严格顺序,为了提升消费性能,可以不可以将Consumer设置为自动确认消费位置,然后批量拉取消息放到内存队列中,然后异步多线程并行执行消费业务逻辑?为什么?
  14. RocketMQ能不能保证在“从消息生产直到消费完成”这个过程中,消息不重不丢(Exactly once) ?
  15. 在RocketMQ的一个Broker 上,使用一个消息序号消费某个队列的消息。其中,消息文件(commitlog)的数量是m个,所有消息文件中的消息条数是k条,目标队列对应的索引文件(consumerQueue)的数量是n个,队列中共有j条消息。查找消息的最快时间复杂度是多少?O(n)还是O(1),为什么?
  16. RocketMQ使用了哪种零拷贝技术?
  17. RocketMQ中如何解决重复消费?
  18. Dubbo 有哪些核心组件?底层原理?Spi是什么?spi的好处是什么
  19. 最近在学什么?讲讲SpringCloud alibaba的一些东西


小结

项目相关的问题

蚂蚁没有考算法,基础知识也有考一些,感觉更看重眼缘和讲项目的能力。

大厂的面试,就是挂和被捞的过程。去年下半年没面上几个钟意的公司之后,已经下决心继续打磨一下自己。在今年上半年开始了新的面试。但我目前的简历技能模块上重点强调自己对redis、多线程、jvm、MySQL这些知识点有比较熟练的掌握(后面二面后我被挖底层挖怕了,以至于我现在简历改成了熟悉掌握)

另外一个原因就是RocketMQ没有深入研究过, 答得吞吞吐吐,聊完RockerMQ后, 我把话题转移到Kafka时,听面试官的语气停顿了一下,估计有些小失望吧!但这次经历给我的感受还是很不一样的

而程序员在应聘时更是需要经历层层面试。俗话说,磨刀不误砍柴工,做好面试前的准备工作可以帮助大家更好地应对面试官的问题以及面试中的突发情况。

总的来说,自己如果有想要去的大公司,一定要提升好自己,让自己的能力和素质与公司匹配的上,我也一直相信,机会永远是留给有准备的人。下面这份我经常刷的面试手册,分享给大家~

资料获取方式:

点击此处即可免费获取到!






相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5月前
|
存储 关系型数据库 MySQL
面试蚂蚁(P7)竟被MySQL难倒,奋发图强后二次面试入职蚂蚁金服
爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。 每一个程序员都拥有一座大厂梦,我也不例外,去年面试蚂蚁金服,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了蚂蚁金服,被录用。
|
5月前
|
NoSQL Java 关系型数据库
阿里P7Java最全面试296题:阿里天猫、蚂蚁金服含答案文档解析
阿里天猫、蚂蚁、钉钉面试专题题目加答案】 不会做别着急:文末有答案以及视频讲解,架构师资料 1. junit用法,before,beforeClass,after, afterClass的执行顺序 2. 分布式锁
|
5月前
|
缓存 NoSQL 算法
远程三面蚂蚁金服,分享面试经历总结(已拿offer)
当前环境,很多公司都采取了远程办公,远程面试。有一说一,第一次远程面试,还是比较紧张的。
|
5月前
|
消息中间件 缓存 NoSQL
记一次蚂蚁金服四面遭虐,面试水太深,过河的渡船你造好了吗?
有道无术,术可成;有术无道,止于道;以术识道,以道御术
|
9月前
|
消息中间件 NoSQL Java
四面蚂蚁金服,定级阿里P7,这份面试经验心得分享给你
在金九银十即将到来之际,大部分人也都准备好了这在两个月里谋得一份自己心仪的工作,奈何今年的2023有些特殊,肺炎肆虐,对我们的工作和生活都造成了极大的影响。那么,是不是这样,我们就不工作,不学习了呢?实际上,正是因为现在正值传染病毒传播期间,所以我们宅在家里好好学习是再好不过的。对于Java程序员来说,利用这两三个月的时间,好好学习,着手准备起来,等到疫情好转,开始面试时,也不至于胆怯。 本人也是准备了大半年,最终如愿以偿拿到阿里offer!
912 0
|
SQL 域名解析 负载均衡
面试:第十五章:蚂蚁金服面试以及答案(下)
面试:第十五章:蚂蚁金服面试以及答案
371 0
|
XML 缓存 监控
面试:第十五章:蚂蚁金服面试以及答案(上)
面试:第十五章:蚂蚁金服面试以及答案
499 0
面试蚂蚁(P7)竟被MySQL难倒,奋发图强后二次面试入职蚂蚁金服
爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。 每一个程序员都拥有一座大厂梦,我也不例外,去年面试蚂蚁金服,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了蚂蚁金服,被录用。
|
消息中间件 缓存 安全
蚂蚁金服一面:题解析十道经典面试
用到分布式事务嘛?为什么用这种方案,有其他方案嘛?
225 0
|
NoSQL Redis 数据库
蚂蚁金服面试:如何优雅的用Redis实现分布式锁?
当在分布式模型下,数据只有一份(或有限制),此时需要利用锁的技术控制某一时刻修改数据的进程数。
183 0