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

本文来自作者投稿,作者是是双非院校科班研究生,Java开发3年工作经验,以下是他最近的面试总结:

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

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

泪目!跳槽太不容易,蚂蚁金服三轮面试,四个小时灵魂拷问,结局我哭了_第1张图片

蚂蚁基本是电话面。第一面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?

  • Redis的性能优化你如何实现?

  • 从底层实现角度讲讲Redis为什么快?

  • 线上Redis有哪些事项需要注意?

  • 线上如何让Redis 6.x性能发挥到最大?

  • 线上Redis持久化方案如何选型?为什么?

  • 谈谈Redis底层多路复用实现细节

  • 有没有使用Redis做过设计呢?

  • JVM的调优大致步骤?

  • Jvm的收集器有哪些?各自的优点和缺点?以及各自的回收算法?

  • Sql的优化?sql语句本身的优化?sql所用到索引的优化?

  • 哪些情况会导致sql的索引失效?

  • 索引的底层结构以及优缺点?

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

    1. 项目相关的问题

    2. 秒杀项目需要考虑的问题

    3. 秒杀场景用到分布式锁的情况,

    4. 服务隔离是如何做的,假设没有分库分表的情况下,服务如何做隔离

    5. 数据库CPU占用率高的原因

    6. 磁盘总空间50G,统计出来的空间有30G,剩余20G可能去哪里了

    7. 限流如何去做,不用redis,还可以怎么实现(令牌桶,滑动窗口)

    8. 项目转变成微服务后遇到的问题,如何解决,

    9. 分布式事物的实现原理(我自己引上来的TCC的分布式事物)

    10. RocketMQ问的较多(呜..没有答好)

    • 在RocketMQ的群组消费中,每个消费组都会消费主题的一份全量消息吗?为什么?

    • 假设一个RocketMQ集群部署在两个机房,每个机房都有一些NameServer、Broker和客户端节点,当两个机房间的链路中断时,NameServer、Broker能不能正常提供服务?为什么?

    • 如果不需要严格顺序,为了提升消费性能,可以不可以将Consumer设置为自动确认消费位置,然后批量拉取消息放到内存队列中,然后异步多线程并行执行消费业务逻辑?为什么?

    • RocketMQ能不能保证在“从消息生产直到消费完成”这个过程中,消息不重不丢(Exactly once) ?

    • 在RocketMQ的一个Broker 上,使用一个消息序号消费某个队列的消息。其中,消息文件(commitlog)的数量是m个,所有消息文件中的消息条数是k条,目标队列对应的索引文件(consumerQueue)的数量是n个,队列中共有j条消息。查找消息的最快时间复杂度是多少?O(n)还是O(1),为什么?

    • RocketMQ使用了哪种零拷贝技术?

    • RocketMQ中如何解决重复消费?

  • Dubbo 有哪些核心组件?底层原理?Spi是什么?spi的好处是什么

  • 最近在学什么?讲讲SpringCloud alibaba的一些东西

  • 小结

    1. 项目相关的问题

    蚂蚁没有考算法,基础知识也有考一些,感觉更看重眼缘和讲项目的能力。这也给我后面的面试失败留下伏笔!

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

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

    结局当然是凉了,没有第四面的通知,但这次经历给我的感受还是很不一样的,也为我下一场面试积攒了经验。之后打算再投几家互联网一线大厂,希望能够顺顺利利, 收到好消息吧。

    Redis也是大厂面试最爱问的,除了上面这些问题,还包括Redis客户端、Redis高级功能、Redis持久化和开发运维常用问题探讨、Redis复制的原理和优化策略、Redis分布式解决方案等。

    为了让大家理解透彻Redis,我特别邀请可“手写Redis”前阿里资深架构师James老师,为大家带来 Redis销魂操作实战》系列课程,原价199元,公众号粉丝限时专享优惠价0.1元!带你从入门到BAT各种应用场景Redis设计,深度掌握Redis核心技能,快速进阶成为Redis专家!

    总结

    在消息投递实时性、严格的消息顺序、定时消息等核心功能方面,RocketMQ均比Kafka更加出色。非常适合应对更丰富的业务场景,包括涉及异步解耦、顺序消息、分布式事务消息(交易系统、支付红包等)等大厂核心场景。

    大型公司,基础架构研发实力较强,用 RocketMQ 是很好的选择。既然 RocketMQ如此重要,结合你公司的实际场景,如何落地应用RocketMQ 消息中间件?RocketMQ的分布式事务架构,又该怎样设计?

    RocketMQ的千亿级微服务架构实战

    如果你想学习阿里奉为 “神器”的RocketMQ分布式消息中间件 ,这里推荐一下前58资深架构师 King打造的《阿里双十一交易核心链路产品,RocketMQ源码分析与618线上实战》在线直播课。2天时间,

    学习本课程,能快速掌握RocketMQ/Redis的线上应用和底层原理,带大家领略下618是如何设计能够支撑高并发高可用亿级流量系统的中间件,通过剖析源码深入理开源中间件架构思想,并将这些思想运用到自己公司项目的架构设计上。

    泪目!跳槽太不容易,蚂蚁金服三轮面试,四个小时灵魂拷问,结局我哭了_第2张图片

    原价 ¥199,限时 ¥0.1立刻学习!

    泪目!跳槽太不容易,蚂蚁金服三轮面试,四个小时灵魂拷问,结局我哭了_第3张图片

    长按扫码添加客服????,锁定 ¥0.1 名额,添加请备注"777"

    【直播+录播】【笔记课件】+【源码】

    仅前 200 人有效,先到先得!

    为什么推荐这门特训营课程

    都2021了,作为一位后端工程师去面试时八成会被问到 RocketMQ/Redis,特别是那些大型互联网公司,不仅要求面试者能简单使用 Redis/RocketMQ,还要深入理解其底层实现原理,具备解决常见问题的能力。0.1元即可秒杀价值199的名师特训课程,6月29日-6月30日,2天时间,轻松带你啃下 RocketMQ/Redis 这块“硬骨头”

    购课福利一

    参与直播课听课还有机会获得RocketMQ/Redis底层原理及架构实战笔记及高频面试解析》:

    泪目!跳槽太不容易,蚂蚁金服三轮面试,四个小时灵魂拷问,结局我哭了_第4张图片

    参与特训营,即免费赠送!

    泪目!跳槽太不容易,蚂蚁金服三轮面试,四个小时灵魂拷问,结局我哭了_第5张图片

    长按扫码添加????,锁定 ¥0.1 名额

    仅前 200 人有效,先到先得!

    2天时间,你能收获如下:

    James与King老师将在源码与实战中,手把手带你提升如下:

    1. 掌握Redis线上应用技巧与实战;

    2. 掌握Redis底层源码及阅读思想;

    3. 线上RocketMQ应用操作实战

    4. RocketMQ底层源码与设计;

    5. 熟知大厂面试套路, 彻底搞定Redis与RocketMQ底层架构.

    大厂名师教学,独创课程服务

    架构级大咖主讲,James老师,阿里技术生态专家,十余年Java研发经验

    泪目!跳槽太不容易,蚂蚁金服三轮面试,四个小时灵魂拷问,结局我哭了_第6张图片

    58资深架构师结合自身实战案例授课

    泪目!跳槽太不容易,蚂蚁金服三轮面试,四个小时灵魂拷问,结局我哭了_第7张图片

    独创实战特训营闭环,全方位帮助学员提升核心技术,老师1对1指导,系统进阶学习!

    泪目!跳槽太不容易,蚂蚁金服三轮面试,四个小时灵魂拷问,结局我哭了_第8张图片

    架构级Redis架构底层原理剖析及企业级实战

    16节点干货内容,精心打造

    2天速成精品课

    原价199,限时扫码0.1元 添加请备注"777"

    ????????????

    泪目!跳槽太不容易,蚂蚁金服三轮面试,四个小时灵魂拷问,结局我哭了_第9张图片

    提供【直播+录播】【笔记课件】+【源码】

    本公众号仅限前200名特惠购买

    购买后请您耐心等待课程顾问通过

    另外,加赠

    【全新Java大厂面试解析+后端进阶完整笔记】

你可能感兴趣的:(分布式,java,编程语言,面试,数据库)