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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容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
相关文章
|
1月前
|
监控 架构师 Java
从蚂蚁金服面试题窥探STW机制
在Java虚拟机(JVM)中,垃圾回收(GC)是一个至关重要的机制,它负责自动管理内存的分配和释放。然而,垃圾回收过程并非没有代价,其中最为显著的一个影响就是STW(Stop-The-World)机制。STW机制是指在垃圾回收过程中,JVM会暂停所有应用线程的执行,以确保垃圾回收器能够正确地遍历和回收对象。这一机制虽然保证了垃圾回收的安全性和准确性,但也可能对应用程序的性能产生显著影响。
30 2
|
6月前
|
Python
2024年最新【Python】变量 的定义和使用,阿里巴巴蚂蚁金服面试流程
2024年最新【Python】变量 的定义和使用,阿里巴巴蚂蚁金服面试流程
2024年最新【Python】变量 的定义和使用,阿里巴巴蚂蚁金服面试流程
|
6月前
|
SQL 分布式计算 算法
Jmeter--基础使用(1),2024年最新跳槽面试大厂被拒怎么回复
Jmeter--基础使用(1),2024年最新跳槽面试大厂被拒怎么回复
|
6月前
|
存储 Java Shell
【Python学习教程】Python函数和lambda表达式_6(1),2024蚂蚁金服面试题及答案
【Python学习教程】Python函数和lambda表达式_6(1),2024蚂蚁金服面试题及答案
|
6月前
|
NoSQL Java 关系型数据库
阿里P7Java最全面试296题:阿里天猫、蚂蚁金服含答案文档解析
阿里天猫、蚂蚁、钉钉面试专题题目加答案】 不会做别着急:文末有答案以及视频讲解,架构师资料 1. junit用法,before,beforeClass,after, afterClass的执行顺序 2. 分布式锁
|
6月前
|
消息中间件 缓存 NoSQL
记一次蚂蚁金服四面遭虐,面试水太深,过河的渡船你造好了吗?
有道无术,术可成;有术无道,止于道;以术识道,以道御术
|
6月前
|
存储 关系型数据库 MySQL
面试蚂蚁(P7)竟被MySQL难倒,奋发图强后二次面试入职蚂蚁金服
爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。 每一个程序员都拥有一座大厂梦,我也不例外,去年面试蚂蚁金服,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了蚂蚁金服,被录用。
|
6月前
|
缓存 NoSQL 算法
远程三面蚂蚁金服,分享面试经历总结(已拿offer)
当前环境,很多公司都采取了远程办公,远程面试。有一说一,第一次远程面试,还是比较紧张的。
95后跳槽阿里网晒工资条:多亏面试前补了这个,真香
最近一哥们跟我聊天装X,说他最近从阿里跳槽了,我问他跳出来拿了多少?哥们表示很得意,说跳槽到新公司一个月后发了工资,月入5万多,表示很满足!这样的高薪资着实让人羡慕,我猜这是税后的薪资,税前估计超过6万了。
|
Cloud Native 数据挖掘 Go
跳槽面试:如何转换工作场所而不失去优势
跳槽面试:如何转换工作场所而不失去优势
63 0