泪目蚂蚁金服三轮面试,四个小时灵魂拷问

白癜风专家郑华国 http://m.39.net/disease/a_5493722.html

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

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

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

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

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

面试官问的面试题:

最近做的项目介绍一下

做的过程中遇到了什么问题,如何解决的

redis集群高可用原理,一台挂了,怎么切换到另一台

如何保证redis和mysql数据一致

数据库事务

很大的表如何优化

limit的局限性,limit值很大的时候有什么问题

mysql锁介绍一下,有哪些应用场景

索引失效的场景

线程的生命周期

线程池很高怎么处理

在分布式任务中,一个微服务的很多线程报错,如何处理和定位

JVM内存分为哪几块

介绍一下垃圾回收机制

有没有阅读JDK源码的习惯

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

ThreadLocal原理,放在堆还是栈。用过吗?

Sync可以作用在哪里?有什么区别?Sync的底层原理?

轻量级锁升级成重量级锁会有开销?有没有什么办法让锁不升级?上来就用重量级锁?

aop原理,实际使用过吗?

Springboot的使用过程中,有哪些觉得比较方便的地方?

对spring的核心原理有哪些了解?会根据所答来进行深入的问。

Spring实例化bean的时候会实例化所有的bean吗?

Spring实例化的时候需要先构建一个实例吗?

Bean的循环依赖是怎么解决的?

项目中为什么使用Redis?

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

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

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

线上如何让Redis6.x性能发挥到最大?

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

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

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

JVM的调优大致步骤?

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

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

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

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

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

项目相关的问题

秒杀项目需要考虑的问题

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

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

数据库CPU占用率高的原因

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

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

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

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

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

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

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

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

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

在RocketMQ的一个Broker上,使用一个消息序号消费某个队列的消息。其中,消息文件(


转载请注明:http://www.aierlanlan.com/tzrz/4167.html