参加完阿里蚂蚁金服Java中间件6轮面试题!6点血泪总结~

参加完阿里蚂蚁金服Java中间件6轮面试题!6点血泪总结~-mikechen

蚂蚁金服一面: 50分钟

1、个人介绍加项目介绍20分钟

2、微服务架构是什么,它的优缺点?

3、ACID CAP BASE理论

4、分布式一致性协议,二段、三段、TCC,优缺点

5、RPC过程

6、服务注册中心宕机了怎么办?

7、微服务还有其他什么组件

8、分布式架构与微服务的关系

9、你有什么问题要问我的。

 

蚂蚁金服二面:1个小时

上来不用自我介绍,项目介绍,直接开始

算法来两道

1、各种排序算法、未排序常规数据查找第K大的数,时间复杂度。

2、二叉树的深度

 

操作系统来两道

3、虚拟内存分页了解不?

4、零拷贝了解?

 

数据库来三道

5、第一二三范式是什么?

6、一个表一千个列值为true和false,写sql 查询 有300个列值为true的行。

7、脏读和幻读是什么?

 

JVM

8、什么对象会从新生代晋升到老年代

多线程

9、一个任务分成十个任务,最后汇总计算,不能用fork/join

10、开源框架源码了解?

11、数据建模两道、个人题开放性题

 

安全方面的问题

12、对安全方面了解多少?

13、 安全协议有哪些 、https是啥?

介绍你做的项目和其中的难点。

蚂蚁金服三面

个人感觉着重技术深度。

1、从ConcurrentHashMap一路问到锁&锁优化->LongAdder->伪共享->缓存行填充->cas等诸多技术细节;

2、从hystrix一路问到原理->自己如何实现->如何优化->响应流编程(reactive streams);

3、从简单的生产者消费者模式设计到如何高效健壮实现等等。

 

蚂蚁金服四面

1、如何倒序输出单向链表?

2、个人直接想法是用栈先进后出的特点,把链表数据读到栈里然后输出。

3、有更好的实现方式吗?

4、主要问项目情况,然后根据一个项目,问如果量级扩大1000倍,你会怎么做?有哪些优化措施?高性能&高可用措施?

 

蚂蚁金服五面:HR面

给大家抛出几大深坑问题:

1、个人的职业规划是什么

2、你遇到的最大问题或者是困难是什么

3、你如何看待阿里

4、你能为阿里带来什么

5、你的优缺点是什么

这几个问题,大家深思啊,不多说。

面试总结:

1.技术基础必须扎实:算法、数据结构、操作系统等,蚂蚁金服面试对技术的基础非常重视,基础扎实的同学有利于在前两轮突出重围。

2.技术宽度:主要集中在高并发、多线程、分布式架构,大以及常用中间件(缓存等)的选型和比较。

3.技术原理深入:重点还是提前准备好JVM、多线程高并发这块。

4.参与的项目总结:你需要清楚你所做项目的关键细节、优化、特点、原理。

5.很多所用第三方库&中间件等的原理,即使你不知道,也要有自己的想法能够说出如何代替实现,比如单点登录的替代方案。

6.最好,提前准备一个大数据访问,比如pv扩大1000倍,你的架构或者技术方案应对措施。

以上就是我的6总结,这些都是不断面试积累来的经验,分享出来避免更多同学少走弯路,早日进入BAT等一线互联网公司!

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法