2019年Java篇:蚂蚁金服、拼多多、字节跳动的面试总结

上午9点,我还在去公司的公交上,突然收到蚂蚁的面试电话,其实算不上真正的面试 。面试官只是和我聊了下他们在做的事情,说的很详细,然后和我沟通了下是否有兴趣,我表示有兴趣,后面就收到正式面试的通知,最后没选择去蚂蚁表示抱歉 。
当时我自己也准备出去看看机会,顺便看看自己的实力 。当时我其实挺纠结的,一方面现在部门也正需要我,还是可以有一番作为的,另一方面觉得近一年来进步缓慢,没有以前飞速进步的成就感了,而且业务和技术偏于稳定,加上自己也属于那种比较懒散的人,骨子里还是希望能够突破现状,持续在技术上有所精进 。
在开始正式的总结之前,还是希望各位同仁能否听我继续发泄一会,抱拳!
目标是啥?就我而言,短期目标是深入研究某一项技术,比如最近在研究mysql,那么深入研究一定要动手实践并且有所产出,这就够了么?还需要我们能够举一反三,结合实际开发场景想一想日常开发要注意什么,这中间有没有什么坑?可以看出,要进步真的不是一件简单的事,这种反人类的行为需要我们克服自我的弱点,逐渐形成习惯 。真正牛逼的人,从不觉得认真学习是一件多么难的事,因为这已经形成了他的习惯,就和早上起床刷牙洗脸那么自然简单 。
扯了那么多,开始进入正题,先后进行了蚂蚁、拼多多和字节跳动的面试 。
准备过程
先说说我自己的情况,我2016先在蚂蚁实习了将近三个月,然后去了我现在的老东家,2.5年工作经验,可以说毕业后就一直老老实实在老东家打怪升级,虽说有蚂蚁的实习经历,但是因为时间太短,还是有点虚的 。所以面试官看到我简历第一个问题绝对是这样的 。
“哇,你在蚂蚁待过,不错啊”,面试官笑嘻嘻地问到 。“是的,还好”,我说 。“为啥才三个月?”,面试官脸色一沉问到 。“哗啦啦解释一通 。。。”,我解释道 。“哦,原来如此,那我们开始面试吧”,面试官一本正经说到 。
尼玛,早知道不写蚂蚁的实习经历了,后面仔细一想,当初写上蚂蚁不就给简历加点料嘛 。
言归正传,准备过程其实很早开始了(当然这不是说我工作时老想着跳槽,因为我明白现在的老东家并不是终点,我还需要不断提升),具体可追溯到从蚂蚁离职的时候,当时出来也面了很多公司,没啥大公司,面了大概5家公司,都拿到offer了 。
工作之余常常会去额外研究自己感兴趣的技术以及工作用到的技术,力求把原理搞明白,并且会自己实践一把 。此外,买了N多书,基本有时间就会去看,补补基础,什么操作系统、数据结构与算法、MySQL、JDK之类的源码,基本都好好温习了(文末会列一下自己看过的书和一些好的资料) 。我深知基础就像“木桶效应”的短板,决定了能装多少水 。
此外,在正式决定看机会之前,我给自己列了一个提纲,主要包括Java要掌握的核心要点,有不懂的就查资料搞懂 。我给自己定位还是Java工程师,所以Java体系是一定要做到心中有数的,很多东西没有常年的积累面试的时候很容易露馅,学习要对得起自己,不要骗人 。
剩下的就是找平台和内推了,除了蚂蚁,头条和拼多多都是找人内推的,感谢蚂蚁面试官对我的欣赏,以后说不定会去蚂蚁咯 。
平台:脉脉、、v2
蚂蚁金服
一面
一面就做了一道算法题,要求两小时内完成,给了长度为N的有重复元素的数组,要求输出第10大的数 。典型的TopK问题,快排算法搞定 。
算法题要注意的是合法性校验、边界条件以及异常的处理 。另外,如果要写测试用例,一定要保证测试覆盖场景尽可能全 。加上平时刷刷算法题,这种考核应该没问题的 。