蚂蚁金服的面试经历引发的一次对当前Java主流架构技术的反思总结

原文链接: https://my.oschina.net/u/4082346/blog/3029347

前言

最近阶段的跳槽面试,相信更多的程序员也亲身体验过了,发现了很多的共同点。其实,大厂的面试问题是最能体现当前主流技术的。我这里总结了一下,现在java架构师必须掌握的主流架构技术。

从一个程序员到架构师是一个很大的变化,架构师需要从大的方面考虑,而不只是考虑这个模块该用哪种设计模式去开发。

想要成为架构师,需要有耐心,不断学习,拓宽自己的视野,不仅仅局限于自己眼前的项目。

经历

2015在实习的时候,当时一个一起实习的朋友在2019年3月份的时候突然在微信上找我,问我要不要面试下蚂蚁金服。问了下相关信息才知道他在2018年11月的时候进到蚂蚁金服,现在招人就想到了我,问我要不要试一下。

刚开始还是有所顾虑的,因为毕竟是大厂,进去应该不容易,但是这个朋友进去了,想想应该也没有很难吧,毕竟当时实习的时候,他技术并不怎么样。但是毕竟过去好几年了,现在人家可能变厉害了。

流程

一面

1、2分钟的自我介绍

2、你自己认为自己最熟悉的技术是什么?

3、 HashMap 底层实现原理是什么?

4、Java 的多线程有没有使用过

5、讲一下线程池,以及实现固定大小线程池底层是如何实现的?

6、Redis 为什么这么高效,使用的场景是什么?

7、分布式服务是否了解,zookeeper,dubbo 是否使用过?

8、幂等概念有没有了解过

9、常用的数据库是什么?

10、MySQL 的事务特性有哪些?

11、如果现在一台生产的数据库挂了怎么处理?

12、数据库如何实现 rollback 的?

13、工作这么久你遇到的最难的技术点是什么?

14、用过Kafka 的话说下 Kafka优缺点有哪些?

15、TCP/IP 协议是如何保证数据可靠性的?

二面

1、先进行自我介绍,然后介绍自己做过的项目,从项目流程架构设计等方面介绍

2、HashMap 的查询时间复杂度

3、LinkedList和ArrayList的区别

4、多进程与多线程在编程上面有什么需要注意的

5、ThreadLocal的使用场景

6、堆内存和栈内存有什么区别

7、堆排序时间复杂度

8、如果优化数据库的数据查询,另外应用层上还能如何优化?

9、强一致性,弱一致性,最终一致性

10、有一个一百万行的文件,内部是购买的商品ID,如何获取到购买最多的前一百个商品。

后续

首先很感谢内推的那个朋友才有了这次的面试机会,从中也获得一些宝贵的经验。

然后通过这次面试我也总结了一些对当前java主流架构技术的反思,慢慢分享给大家!

系统性能优化

蚂蚁金服的面试经历引发的一次对当前Java主流架构技术的反思总结_第1张图片

 

我们不仅仅对项目要运筹帷幄,还要能解决一切性能问题。只有深入学习JVM底层原理,Mysql底层优化以及Tomcat调优,才能达到知其然,知其所以然的效果。

源码框架

蚂蚁金服的面试经历引发的一次对当前Java主流架构技术的反思总结_第2张图片

 

框架是重点,但别让人感觉你只会山寨别人的代码

在面试前,我会阅读简历以查看候选人在框架方面的项目经验,在候选人的项目介绍的环节,我也会着重关注候选人最近的框架经验,目前比较热门的是SSM。

微服务专题

蚂蚁金服的面试经历引发的一次对当前Java主流架构技术的反思总结_第3张图片

 

关于微服务架构的取舍

1) 在合适的项目,合适的团队,采用微服务架构收益会大于成本。

2) 微服务架构有很多吸引人的地方,但在拥抱微服务之前,也需要认清它所带来的挑战。

B2C商城项目实战

蚂蚁金服的面试经历引发的一次对当前Java主流架构技术的反思总结_第4张图片

 

一切的一切,把上述技能嵌入到你做过的项目里

我想告诉大家的是,你之前费了千辛万苦(其实方法方向得到,也不用费太大精力)准备的很多技能和说辞,最后应该落实到你的实际项目里。

结合这些反思我整理一些视频资料

蚂蚁金服的面试经历引发的一次对当前Java主流架构技术的反思总结_第5张图片

 

蚂蚁金服的面试经历引发的一次对当前Java主流架构技术的反思总结_第6张图片

 

领取方式:

加入Java高级架构师之路:712477306,群主免费放送所有资料。

最后别忘了关注我,以后将有更多干货分享。

转载于:https://my.oschina.net/u/4082346/blog/3029347

你可能感兴趣的:(蚂蚁金服的面试经历引发的一次对当前Java主流架构技术的反思总结)