聊聊阿里面试的三个层次技能与要求
最近去阿里的菜鸟国际做了一次面试交流,发现大公司对于面试者的知识结构考核非常严谨,可以作为我们日常工作学习的指导。虽然很多人说面试问到的东西在实际工作中很少用到,甚至有「面试造火箭,工作拧螺丝」的说法。但从面试中,其实可以看得出来现在的公司对于面试者的知识体系要求。如果我们能在工作中就按着这样的要求去不断提升,那么在面试的时候必然也能游刃有余。
一般来说,阿里的面试会有两轮的技术电面,分别交叉检验你的技术基础。后面还有两轮的现场技术面试,主要检验你的项目经验。但从知识体系的角度来看,阿里面试对于知识的考核可以分为三个层次:对于基础知识的考核、对于项目经验的考核、对于项目深度的考核。
基础知识考核
在这个层次上,主要考核你对 Java 语言本身原理的理解以及各种框架的原理理解。
对于 Java 开发岗位上来说,这些知识点包括但不限于:
- 集合 HashMap 的原理,与 Hashtable、ConcurrentHashMap 的区别?
- Java 线程池的核心属性以及处理流程
- Java 并发包原理、Synchronized关键字、锁
- 线程的生命周期
- JVM类加载机制
- JVM内存模型
- JVM分代以及垃圾回收机制
- Spring Bean 容器生命周期
- Spring AOP 原理
- Dubbo 请求流程以及原理
- 数据库 SQL 优化、数据库索引、索引原理
- ……
上面只是说了很少的一部分而已,如果想查看更多,可以点击Java面试通关要点了解更多。
看到这么多的知识点,我一下子就懵逼了,这么多得看到什么时候才看得完啊?但后面我想明白了,其实你不需要全部都懂,但需要了解大部分知识点,并且在这大部分知识点中,还需要有部分是了解得非常深入的。如果达到这个水平,基本上都能通过考核。
对于基础知识的考核多出现在阿里的前两轮电话面试上。对于这块,你事前把网上常见的面试题目看一遍,多面试几次基本上都没有问题。
项目理解程度
当你成功通过基础知识的考核之后,你会进入下一关的考验:项目的理解程度。
面试官首先会让你选择一个你最拿手的项目,画出架构图,之后的一切问题都从这个架构图触发。当你画出架构图之后,你肯定需要解释清楚每个模块的作用,每个框架的原理以及与其他框架的区别。
例如我就用我做过的一个搜索项目作为经典项目,与面试官探讨。
-
项目中用到了 Kafka 这个框架,那么面试官就会问 Kafka 和 RocketMQ 之间的区别是什么,它们两个有什么不同?
-
项目中还用到了 Canal 这个阿里巴巴开源的框架,那么面试官自然会问这个东西是干嘛的,原理是怎样的?
-
项目中还用到了 Zookeeper 作为协调者,那么 Zookeeper 在这个项目中的作用是什么,扮演了什么角色?
对于「项目理解程度」的考核会发生在技术面试的三四轮。在这个层次上,你必须要有一个拿得出手的项目,并且对其中的所有框架以及原理都了如指掌,否则你会被虐惨。
项目思考深度
通过上一轮对于「项目理解程度」的考核后,基本上你对整个项目都会有一个全面的认识,应用层面上的问题基本上不会难倒你了。但在「项目思考深度」的考核上,就不仅仅只是考核应用层面上的问题了。
还是用我做过的一个搜索项目作为例子,其中 Canal 这个开源框架暂时是没有实现集群这个功能的,那么面试官就问了:
- 你如何去改造这个项目,从而实现 Canal 的集群功能?
这个时候,你会发现你懵逼了,因为你从来没有去思考过这个问题。你所有的工作内容都是在想如何使用开源框架,而没有进一步思考这些开源框架好不好,有什么可以改进的地方。
所以,在这一个层次上考核的是你对开源框架的思考深度,这些框架到底好不好,好在哪里,不好在哪里,有什么可以改进的地方。
对于「项目思考深度」的考核同样发生在技术面试的三四轮。在这个层次上,你不仅要对项目本身理解足够深刻,还要跳出项目本身,去思考开源框架本身的问题。
总结
当我们回过头来总结,你会发现这三个层次都是层层递进的,而且逐步深入。虽然这是面试中总结出来的经验,但是这却是一个很好的学习指引。读者可以自己自查,看看自己现在是处于哪个层次,这样在工作中也可以不断地向更高层次迈进。
对于我来说,我缺乏的是对于项目的思考深度,很多时候都是业界觉得好,那我就用了。但是作为一个高级开发,甚至是一个即将成为架构师的高级开发来说,你必须知道为什么要用这些框架?它有什么问题,我们能不能做得更好?只有这样,我们才能有所成长。
相关文章
- 这篇文章主要介绍了阿里大数据工程师面试流程与经验,总结分析了阿里大数据工程师三轮面试的经历与相关问题注意事项,需要的朋友可以参考下2019-11-15
- 这篇文章主要介绍了阿里面试必会的20道C++面试题与参考答案,涉及C++指针、面向对象、函数等相关特性与使用技巧,需要的朋友可以参考下2019-09-26
- 这是一道真真实实的阿里面试题:“请解释下为什么鹿晗发布恋情的时候, 微博系统会崩溃,如何解决2019-09-16
9月最新184道阿里、百度、腾讯、头条Java面试题合集(小结)
这篇文章主要介绍了9月最新184道阿里、百度、腾讯、头条Java面试题合集,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-09-09- 这篇文章主要介绍了阿里常用Java并发编程面试试题,总结分析了java并发编程的概念、原理、常见操作与相关注意事项,需要的朋友可以参考下2019-09-04
- 这篇文章主要介绍了阿里、网易、滴滴共十次前端面试碰到的问题小结,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-07-25
- 这篇文章主要介绍了两个月面试经历回顾:阿里,携程,小红书,美团,网易等等,分享给大家经验,有兴趣的可以了解一下2019-06-25
2019 金三银四:阿里P9架构的Android大厂面试题总结
面试是一道坎,很多人会恐惧面试,即使是工作很多年的老鸟,可能仍存在面试的焦虑。 今天介绍了阿里P9架构的Android大厂面试题总结的相关资料,小编觉得挺不错的,现在分2019-05-05- 之前过了几个简单的简历面,所以总结了几套面试的试题供大家分享。小编觉得挺不错的,也给大家做个参考。一起跟随小编过来看看吧2019-04-25
阿里余额宝团队Java4面:G1+二叉树+线上调优+MQ+Redis
这篇文章主要介绍了阿里余额宝团队Java4面:G1+二叉树+线上调优+MQ+Redis的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-04-12
最新评论