一名十年Java程序员回忆阿里面试经历——揭开阿里面试的“遮羞布”

0.437字数 2017阅读 1723

阿里面试经历

去阿里面试可以说非常非常的偶然和戏剧性,因为本人根本没投简历,以至于阿里hr给我电话的时候我一度认为是诈骗电话。因为深圳这家公司不错我还想在这里干个两年左右再考虑考虑。

这个时候的本人已经发生了很大的转变,从刚进腾讯的浮躁、自大、惧怕面试,已经转变为淡泊、谦虚,并且喜欢上了面试,感觉每次面试就像杨过跟大雕过招一样,武功都能精进不少。本着去看看技术面内容的心态去了福田东海大厦。

一面

一面没有技术面直接就是组长面,首先是自我介绍,之后问了下项目内容。我就说了下即时通讯和视频加工两个模块。他让我画出模块的架构图,这个建议大家准备一下,阿里和百度都有要求应聘者画模块图考察应聘者的开发层次和思路。本人没什么准备,不过当时设计评审时的UML还记着,就把模块图和类图画了下。

面试官又问,有没有遇到困难;我说有,性能瓶颈、卡顿的问题、瞬时信息量过大导致的UI卡死;他就问如何解决的:我说由实时刷新改为定时刷新。他问还有没有更好的实现方式,我回答有用任务队列。

我们又争论了下任务队列的设计应该用先进先出还是后进先出。这个时候本人已经完全忘记是来面试的了,只想争赢。语速也越来越快、声音也越来越大。他质疑我这个机制在效率调优上没有意义,因为系统会进行cell缓存;我说在中间的时候系统缓存可以生效,在最底部的时候就失效了,就会卡顿。最后还是我争赢了,时间就这么不知不觉中过了一个小时。

问通讯消息腾讯是如何做的,我说不知道我猜测是这么做的巴拉巴拉。问了下我滤镜的使用和原理,如何美白,我说修改OpenGL的值就可以了,问如何进行视频合成,这个很简单就是把视频和音频轨道抽出来再用composition合成就可以了。问了下加水印、也是从文件中把视频轨道layer抽出再把图片layer加在这个layer上就可以了。

把开始时间和持续时间、帧率设置好就ok了。又问了下为什么来面试,本人说没想过换档,是你们叫我来面试的。一面官最后问了下,考不考虑杭州,本人非常坚决的说不考虑。他又说其他城市考虑吗,本人说吉林就考虑。

二面

一面结束让我去休息之后是二面,二面的面试官很nice。让我做自我介绍之前竟然先做了自我介绍。他负责的部门是个很核心的部门。

面试的内容跟一面差不多。让我在白板上画我设计的系统架构图之后就是讲解。问了下我的职业规划,我说现阶段还是想写代码。他问多久,我说2年吧。他有问你对管理岗位怎么看,我说一个好的管理首先要能帮助组员解决问题,我现在水平还达不到这个境界,想多写点代码,代码量上去后设计能更合理一些,像这个设计当时有几个优化点没考虑到,有点遗憾。面试官问我有什么问题之后我就询问了下他们部门的情况和企业文化。面试官好像比较满意,就让我去hr面,还特别强调就是跟hr聊聊不算面试。

hr面过程不表,就是问了下杭州房价问题。问我能不能来杭州发展,我说我考虑下,还不知道你们会不会录用。闲扯了半个小时,就打道回府了。3天后收到阿里的offer通知介绍。给的薪水又一次超过了本人的心理预期,还有本人一直梦寐以求的期权。实在是没法拒绝。

阿里的面试跟腾讯百度都不同,感觉更注重项目实践一些。总结来说BAT的技术面都差不多。只要把内功和外功都修炼好了再配合点实战经验基本上都可以应付三大的面试了。

面试的核心流程都是:

技术一面、技术二面(组长面)、总监面、hr面。腾讯会多一个经理面。但是一般总监认为可行的人,9成的应聘者都会通过经理面的,除非发现严重的撒谎行为。hr面就是走过场,刷人的机率基本上为零。以前招聘过一个同学,hr想刷掉,理由是没有大公司经验,被我们组长一顿叼,说这个人各方面都很适合又踏实,如果你们觉得这个不行你们就要负责招一个你们认为行的,否则我们工作做不下去了,hr就软了。后来事实证明,这个同事工作完成的相当好,人的能力跟公司大小没关系。最难的就是二三面,人也基本上是这两面中刷下去的,大家一定要小心。我个人的经验来看,总监越严肃通过的机率越大,越客气就越危险。

面试准确讲不应该叫面试应该叫面谈,就是interview。劳资双方坐下来谈谈聊聊,互相了解。我们程序员作为技术工作者不是去求职的,只是去看看你的机会,你可以保留你的职位,我保留我的做事方法。

关于Java行业前景

据不完全统计,截至目前(2017.07)为止,中国Java程序员的数量已经超过了100万。而且,随着IT培训业的持续发展和大量的应届毕业生进入社会,Java程序员面临的竞争压力越来越大。那么,作为一名Java程序员,怎样努力才能快速成长为一名高级的程序员或者架构师,或者说一名优秀的高级工程师或架构师应该有怎样的技术知识体系,这不仅是一个刚刚踏入职场的初级程序员,也是工作三五年之后开始迷茫的老程序员,都必须要面对和想明白的问题。为了帮助大家少走弯路,我总结出一个Java程序员的工作2-5年成长路线图。

很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。如果想学习Java工程化、高性能及分布式、深入浅出。性能调优、

最后给大家推荐我的JAVA资料分享群::561614305有免费java基础学习视频,更有免费公开课,欢迎各位加群!!!

推荐阅读更多精彩内容