【阿里巴巴】Java岗-五面阿里,终拿P7 offer

第一轮技术面试

有了这个共识后,我和面试官开始了第一轮电话面试。第一轮面试的时间是某天上午九点,电话面试,面试官简单的了解了一下我之前做的业务,接下来就问了我一些 Java 的基础知识,我面试后做了一下总结和记录,贴出来给大家看下:

  • Java 的 Object 类有哪些常用的方法?

  • 哪些场景下,子类需要重写 equals 方法和 hashCode 方法?

  • 描述下 HashMap get 方法的主要执行逻辑和流程;

  • Java 异常,什么是 checked Exception 和 unchecked Exception,举几个具体的例子;是否研究过 Spring Boot 中的异常;

  • ConcurrentHashMap 的特性和实现原理;

  • 什么是分库分表,以及分库分表的具体方法和使用场景;

  • 数据库事务的 ACID;
    对于数据库基础知识,读者可以找任意一本相关入门级的数据库图书学习即可。
    高级开发除了以上要求还要熟悉 高可用 MySQL 、 主从同步 、 读写分离 、 分表分库 等技术,这些技术的细节一定要清楚,它们是你成为技术专家或者高级架构的必备知识。我们在实际面试时,在讨论高可用服务服务方案时,很多面试者也会和我们讨论到这些技术,但是不少面试者只知道这些技术的大致思想,细节往往说不清楚,细节不会就意味着你的高可用方案无法落地,企业需要可以落地的方案。
    这些技术我首推 《高性能 MySQL》这本书,这本书高级开发者一定要通读的 ,另外还有 2 本非常好的图书也推荐一下:一本是《 MySQL 排错指南 》,读完这本书以后,你会对整个“数据库世界”充满了清晰的认识;另外一本是《 数据库索引设计与优化 》,这本书读起来非常舒服,尤其是对于喜欢算法和数据结构的同学来说。

  • 什么是分布式锁以及其实现原理和使用场景;

  • 幂等性问题。

这里需要说一下,上面的面试题其实都很基础,尤其是涉及到 Java 本身的如果你是从事 Java 开发的,但是只局限于应付公司的业务代码,从来没有主动去研读一下 jdk 的一些常用类库,无论从应付面试来说,还是就你的 Java 技术栈的提高乃至技术职业生涯都是不好的,希望从事 Java 开发的读者要意识到这一点。

网络上有很多类似于 Java 面试高频知识点总结的帖子和课程,我个人觉得这些课程你可以用它作为大纲,但是千万不能只达到这些大纲要求的深度,作为 Java 开发者,jdk 的源码,尤其是常用的 Java 类的源码还是建议认真阅读一下。

第一轮技术面试结束后,我就问面试官是否通过了。面试官告诉我通过了,然后我问他下一轮的的面试会安排在什么时候。我当时告诉他希望他们尽快安排,已经有其他的公司在催我入职了(期间我已经拿到了字节的 offer)。面试官说去沟通一下。

于是当天下午大概一两点左右,一面面试官问我晚上是否有时间,给我安排第二轮技术面试,于是约了当天晚上七点。

第二轮技术面试

第二轮技术面试是主管面试。原来约了晚上七点,我到了之后一面的面试官接待了我,并告知我他们主管临时有点急事,能不能把时间改到九点,或者再约。我当时想既然都来了那就等等吧,就不单独再约时间了。于是在这之前和一面的面试官又聊了一下,一面的面试官人很 nice,我们聊了很多东西。他和我说了一下后面面试的一些注意事项,告诉我二面面试官的一些情况,建议我在和他谈之前的项目时说清楚业务特点和技术重难点,并给出合理的解决方案,否则很可能被 pass 掉。最后又和我讲了一下阿里的薪酬结构和期权的一些事情,以及 HR 面试和其他公司的 HR 面试不太一样,要我认证严肃对待阿里的 HR 面试。

大约到了晚上九点,二面面试官终于来了。先和我介绍了一下他们所做的东西,最后给我出了一个场景题,让我根据他提出的场景设计一套系统,要交代清楚一共有几个子系统,如何保证高性能和高可用。在和面试官讨论中我给出了自己的设计方案,当然开始的答案并不完美,后来面试官不断给我提出新的问题,以考察我的设计能力。正常的面试结束后,面试官就我之前的项目聊了一下自己的看法。

聊了大概一个多小时后,结束了面试,我离开时,发现外面的沙发上还有一个人等待面试,汗,竞争压力真大。

第二天早上,我通过一面面试官帮我打听二面面试结果,大概中午的时候,二面面试官加我微信说面试通过了,但是三面面试官,也就是他们大部门的 leader 在深圳出差,问我是否方便视频面试,我说可以,于是就约定了第二天晚上七点的视频面试。

第三轮技术面试

前一天三面的面试官给我打了个电话,然后加了我微信。第二天晚上七点,面试官准时微信视频我,打开后发现是一个胡子没刮的中年大叔,”大叔”在阳台上坐在笔记本电脑前面,然后面试就正式开始了。先让我做个自我介绍,然后就和我聊起之前的项目,在我介绍项目的过程中,时而问一些 Java 细节的东西,如多线程同步用了哪些对象,如何编码的,时而问一下框架或者架构方面的,例如如何做热备、是否使用了分布式服务,分布式服务中多个服务之间数据如何保持一致,系统的支持的最大 QPS,缓存问题、数据库的压力问题等等。

三面的技术面试并不容易,一般来说,不同公司因为业务形态,采用的技术方案不尽相同,但是不少面试官并不认同面试者公司所采用的技术方案,所以需要面试者详细的、认真的给出合理的解释,如果你对你负责的系统背后的技术方案从没进行认真的思考和反思,很容易被面试官几次连续追问弄的措手不及,或者落入面试官设置的技术圈套中。

这类面试我给读者的建议是,无论你是公司某个项目的负责人,还是你只是参与某个项目只负责其中一部分,不仅要想办法了解整个系统的结构设计,多反思你现在的结构设计,还要对关键的细节核心也要非常熟悉,把你所在的项目的一些关键细节搞清楚,千万不要只局限于自己的”一亩三分地”。

第四轮 HR 面试

第二天早上,一面的面试官告诉我第三轮技术面试已经通过了,接下来就是 HR 面试了,但是阿里的 HR 面试与一般的人事面试不太一样,HR 在阿里有点像军团的”政委”,同时告诉我,阿里的薪资待遇现金部分不会给太多,更多的是期权,而且这些期权公司内部是明码标价的,在离职时公司会以制定的价格去回购。

当天,一个自称阿里的 HR 主管的女性给我打电话,与我约了下一轮的人事面试,具体日期记不得了,是后面几天的某个上午 10 点。

那天的 10 点,对方如约打来电话。在我以往的经历中,我觉得既然前面技术面试过了,到了 HR 面试时应该是简单的了解一下面试者的情况,然后就开始谈薪资了。然而事实并不是这样,这个 HR 先让我做了一下自我介绍,然后让我描述一下每段工作经历分别做了什么、每段工作经历时长和离职原因,还问了我诸如我工作中最受挫的事情以及最大的挑战的事情是什么,以及我的一些思想观念和价值观念。唉,感觉真的就像”政审”。聊了快一个多小时,我的心一直是绷着的,额头都出汗了。那天我的媳妇也在旁边旁听,我面试了一个多小时,她跟着紧张了一个多小时。

面试最后,同样的惯例,这个 HR 问我有什么想问的,我当时脑子一发热,问了一句套话:您觉得在 IT 公司,HR 应该扮演什么样的角色?唉,就是这个问题差点,让我”万劫不复”了。这个 HR 显然很老道,并没有直接回答我的问题,而是反问我怎么看待 HR 工作职责的,我当时说,人力资源部门应该为职能部门做好后勤工作。面试官听我这么说,立刻表示反对,开始给我说阿里的 HR 如何如何,作用如何如何,接着我就脑袋嗡嗡的又听了她说了一会儿。最终我们结束了这次的面试。

面试过程中,其实我一直以为会和我谈薪资待遇,然后从开始到结束并没有谈到,因为不确定我是否过了这个面试, 也没有去问。

第五轮 HR 面试

第二天早上,我再次接到这个 HR 的电话,告知我所有的面试都通过了,接下来和我谈下薪资待遇。经过他们的综合考察和评定,给我的职级是 P7(技术专家),给我价值 80 W的期权,分三年拿完,第一年给 25%,第二年再给 25%,第三年给 50%,但是现金部分最多只能给到 32k(月薪),保底薪资是 14 薪。于是我问她,我少要点期权,月薪能否加一点,她说做不到;然后我又问她每股期权如果离职公司的回收价格是明确的吗?她也说不明确。于是,我又和她说,我说你这个薪资水平和我上上家的待遇差不多。她也不接我我的话茬,说这是公司的规定,况且你来阿里也不是为了钱。我竟然无言以对。后来,我就说我拿了某独角兽公司的 offer,人家年薪都给到了七十多万,你这比人家低的太多了,她又说,这家公司给的薪水本来就比市场平均水平要高很多。

谈到这里,我其实已经没多少耐心继续谈下去了。我朝思暮想,诚惶诚恐想进的阿里,给出的待遇竟然如此。唉。大家出来工作,不是为了钱,为了啥?而且整个面试的过程也是比较磨人的,最终给出的薪资水平毫无诚意。此时,我实在不想继续谈下去了,于是我对她说,要不这样吧,我考虑一天,明天这个时候给你打电话告诉你结果,她说可以,并说第二天会打给我。

最终结果
综合考虑下来,最终我还是决定放弃阿里的 offer。第二天当那个 HR 打来电话时,我直接开门见山的说,我选择放弃这个 offer,她听了之后说了一句尊重我的选择,然后简单的寒暄了几句就挂了电话。

总结
我这个人,非科班出身,我深知有一份大厂工作经验的重要性。所以自毕业以来,一直想着有一天能去 BAT 其中之一工作,然而造化弄人,总因为这样那样的原因,一直未能得偿所愿。在 2019 年整整一年,创业付出大量时间和心血之后,决心还是告别小公司,再去大厂历练一下。于是经过认真的准备,先后面试了腾讯、饿了么、阿里蚂蚁金服、字节跳动等大厂,其中尤为亲睐阿里的工作机会,当然由于早些年面试大厂受挫,心里存在一点的恐惧心理,但这次之后再也不存在任何恐惧之心了,说白了,也不过如此而已。

当然,我这里并不是说阿里不好,阿里是一家伟大的公司,给我们的生活带来了很多的益处。但是有些事情,如同两个人的结合一样,勉强不来的。一家企业在发展的过程中总会存在很多问题,如果你能忍受这些问题,你可以选择她,如果你容忍不了,你可以不选择她。感谢帮助我那么多的阿里一面面试官。

我把这段经历写出来分享给大家,并不是想说明我有多强,是希望给想面试阿里的同学一点启发和帮助。入职大厂不仅需要技术实力,还需要一点点运气和策略。

发表评论

后才能评论

评论(1)