二流本科、两年外包、三年进阿里的故事

2,522 阅读13分钟

提要

这不是一篇面试水文,如果想看面试题的可以出门左拐。

这也不是教你如何面试的文章,如果想看如何面试的请出门右拐。

这就是一篇记录个人成长的文章,如果能对正在迷茫的你有所帮助,我就很开心了。

请出生就在大厂的人略过,这一篇文章只适合千千万万像我一样的人看,曲折之路没有感同身受,切勿妄下定论。

文章很长,感谢阅读。

关于毕业

我是2016年毕业于淮阴工学院——信息与计算科学专业(是数学系不是计算机系!)的一名普通大学生,我和千千万万的大学生一样,毕业之后很迷茫,没有方向,不知道自己将来会干什么。

我没有特殊的经历,我不是党员,我甚至连奖状都没有,但是我想从事计算机的工作,于是毕业后,我听从家里的安排,在我老家(一个四线小县城)的一家外包公司实习做Java,我终于开始我的职业生涯了,其实还有点小兴奋。

可是人生在世,十有八九事不如意,由于当时公司是对日的一家外包公司,所以公司就要求我们学日语,但是一心想学一点技术的我,对学习日语很抵触,感觉在浪费人生,于是我成功得成为了那一批学员之中唯一一个没有考过公司日语考试的人,后来我实习了 3 个左右的时间,整天在改代码规范,写注释,这似乎是一眼能看到头的人生。

有些人,二十多岁的时候就已经死了。

后来公司又组织了一次全员工的日语考试,感到厌烦的我成为了唯一一个交白卷的人,是的,你没看错,我直接交了白卷,不是不会,而是不想。

看到这里你是不是看到了,一个一无是处的倔强大学生的失败人生。

别不承认了,我自己都看到了。

我开始挣扎,我不想这样活着。

我在工作之中,接触到了JS,然后我充满了兴趣,觉得JS比JAVA有意思多了,于是我开始自学JS。

2016年10月的某一天,在我要转正的那一天,我提出了离职,那个时候的我才自学了一点皮毛。

离职之后,我到处找前端的工作,苏州跑过,南京跑过,历经一个多月,直到南京有一家公司的技术Leader看我技术不怎么样,但是挺有冲劲的,于是要了我。

我好兴奋,我终于到大城市了,我出来了,未来可期!

关于经历

认清社会

你们可能以为我就在那家南京的公司起飞了,大展身手,可是事实又和各位看官想得不一样,我进了那家公司以后,一周不到就离职了,准确的说,5天。

具体没啥原因,就是拗不过一口气。

当时带我的人,总是瞧不上我,从来不正眼看我,我问什么问题都很不耐烦,嘴里一直都是贬低我的话,虽然我那时候真的很努力,每天下班学到凌晨,但这也不能成为借口。

然后我就失业了,整整三个多月,我一直处于自学+找工作的状态,期间遇到各种各样的社会套路,简直就是经历了人生百态,因为房租和收入的问题,我吃了2个月的泡面,期间还过春节,为了不给家里人担心,我还是买了衣服、裤子、鞋子,加起来一共300块。

你们可能会问我,为什么不去报一家培训机构,包装一下也不会这么惨。

说实话,我打心底觉得,现在网上都有各种培训的视频教程,上不上培训班其实意义不大,重要的还是要看自己,另外一点就是,我不喜欢作假。

时间来到2017年的2月份,过完年之后,我继续回南京开始找工作,也找到了我的第一份工作,软通动力,做华为外包工作。

软通动力

在软通动力的那段日子里,可以说是我成长最快的一段时光,虽然做得是外包,每天下班都很晚,但是我在里面学到了很多。

由于我经历了社会的毒打,所以我深知社会百态,自身的实力是自己唯一的倚仗。

我在做华为业务之余,每天11点左右下班回去,都会自己学习到凌晨2点多,折腾各种东西,日复一日。

半年之后,组内开始进行技术分享,我每次技术分享前,都会自己研究很久,写成文章,自己都不懂怎么去教别的人呢?

后来,我每次做分享,大家都会来听,满满的干货,教会了别人的同时也提升了自己。

到再后来,我的能力越来越强,负责的东西越来越多,基本上大家遇到的难题都是我来解决。

华为方甚至派正式员工跟着我学前端。

我甚至自己都觉得自己到达了巅峰。

简单来说,就是眼界问题,我的眼界局限于我们整个团队了,从技术上来说,我们团队已经很少有人能比过我了。

一年之后,我提出了离职,其实理由很简单,不给涨工资(当时工资真的很少)。

后来,现实又给飘飘然的我狠狠地一巴掌。

我认为,我已经有倚仗了,我自身的实力够硬,肯定不会重蹈去年的覆辙,于是我信心满满的出去面试了。

那段时间,我面试过苏宁,面试过毕马威等,都挂了,相反的,我带过的徒弟都面试上了,我开始怀疑自己的能力。

我决定去杭州,中国的互联网之都,深造。

泰隆银行

历经曲折,南京杭州两边跑,2018年3月,最后我还是只面试上了一家外包公司,外派到了泰隆银行。

想想在南京的巅峰时刻,百般辗转之后,最后还是到了外包,想想也很嘲讽呢。

在泰隆银行,技术主管让使用 VUE 进行开发,但是我在软通那边一直使用的是 Angular 进行开发,所以完全不懂 VUE 的我开始疯狂补习,毕竟只有我一个前端。

一周时间,我几乎把VUE的所有特性摸清楚,写法用法全部摸熟了,我开始开发整个项目。

日子一天天过去,每天多写一点代码,我都会有新的想法,边开发边重构,边封装边优化,到了后期,整个项目的开发变得很简单,我把整个项目甚至重构成一个黑盒,只需要传配置过去就能完成需求。

一个月的时间,我就收到了泰隆银行本部的转正邀请,后因为种种原因,我还是没去银行,和我性格不太搭。

在银行的日子里,我还做了很多的事。

  • 自建GitLab代码库(银行还用SVN)并推广,进行容灾管理,代码自动备份等措施。
  • 建设 CI、CD 持续集成能力,发布测试更加简单便捷(银行没有任何建设)。
  • 搭建DOCLevel,API管理工具,能在线测试API,管理API(银行使用EXCEL管理API,手动添加)。
  • TypeScript的优先使用及推广。
  • Docker 的使用及推广。
  • 权限加密体系建设。
  • 等等

2018年10月份,我提出了离职,原因其实很简单,在银行,很多规矩很多限制,他们不愿意尝新,用习惯了老一套就不想变化,毕竟我是外派,很多事情身不由己,很多东西推不动,纵使我的主管帮我,但是也很费劲。

同时,我第一次收到阿里的面试机会。

结果当然是失败了,我死在了笔试的算法题上面。

我不服,我疯狂在招聘软件上找阿里的机会,可事实是,到最后都杳无音信。

期间,我还参与了大大小小的面试,比如同花顺、微医等,虽然都到了终面,但是由于种种原因,都失败了。

到了这个时候,大家是不是觉得剧情和去年很相似,一个意气风发的少年,在残酷社会的打击下,丧失信心。

你们是对的。

那段时间我对自己很失望,感觉自己一事无成,在最后我要放弃的时候,我收到了城云国际的面试邀请,结果也很顺利,我拿到了城云的 offer,就这样,我去了城云。

城云国际

在城云的日子里,可以说是我稳下心来,好好沉淀的一段时光。

我除了在做业务之外,我好好把我前两年学习的知识沉淀沉淀,用更好的方式写业务需求,提升效率。

我为了能更好的解决代码问题,开发了代码运行流程可视化及断点可视化工具,开发了一整套跨端组件库,开发了运行时实时代码文档预览工具,开发了TIFA框架(类React)等(没开源,别找了),同时仍然沉淀博客很多内容,默默耕耘。

期间我还去支援公司其他项目组,帮他们理清组件,优化代码,收到了公司前端体系共建的邀请等。

时间来到2019年10月,我在看博客的同时,看到了阿里的招聘,心怀着对阿里的无比向往,甚至称之为梦想都不为过,于是我再一次投递了阿里。

我做足了准备,心怀浩荡,希望能够背水一战,成,则加入阿里,败,则认清现实,此生将无缘阿里。

这不是小说,不存在逆袭,我败了,甚至都没等到面试机会。

阿里那边直接拒绝了我,我托内推人帮我看一下原因,回答我的,是学历一般,履历不出色,跳槽频繁。

对,我承认,这确实是不争的事实,甚至输得心服口服。

那段时间,我有点儿崩溃了。

有的时候,光靠努力是无法弥补一些先天的缺陷的,不存在事在人为,不存在人定胜天,一切皆是命。

崩溃了一周多,哭了很久,或许有人会嘲笑我,一个大老爷们哭什么哭,我也曾在网上找安慰,得来的也确如其实,无尽的嘲讽。

我只想说,没有感同身受,不要妄下结论,世界上没有什么我懂你,你懂得只是事儿,你不懂的是这份事儿对于当局者的感情。

阿里巴巴

一周之后,我重整旗鼓,其实我真的挺喜欢城云的,里面的每个小伙伴都很好,要么就这么干下去呗,做最好的自己就行了。

两个月后,时间来到2019年12月份,我正常下班回家,坐在电脑前研究着一些技术内容,一阵急促的电话打破了平静的生活。

电话:“喂,您好,我是阿里巴巴的面试官,请问现在有时间来进行一次面试吗?”

我:“???”

我:“行吧,那就来面吧。”

...

就这样,我很顺利得通过了一面。

后续面试官发我笔试题,说2小时内完成,我看了一眼题目,20分钟写完了,然后和面试官说,写完了。

后续二面、三面、四面...都很顺利,我发现这时的我都能轻松应付过来。

就这样,我进入了阿里。

是的,世事无常,造化弄人,没有人会想到我就这样进入了我梦寐以求的殿堂,我自己也完全没想到我以这种方式进入了阿里。

回头来看,做好自己,做好选择,摆正心态,随时迎接挑战,当机会来临的时候,尽自己能力能够把握住就足够了。

如果当时我崩溃之后,郁郁寡欢,一蹶不振,也就不会有现在的故事了。

作为面试官的故事

来到阿里之后,我自然地变成了面试官,我变成了千千万万想进阿里的你们的第一道坎,我进来才发现,原来面试没那么难,但是也绝不简单。

我不会写面试题,因为真的每个面试官出的题目都不一样,每个面试官都有自己的风格和看重方向,我就简单提一下阿里需要你做到什么程度。

  1. 基础扎实。没错,很简单的,就是基础扎实。这是一面最基本的要求,你的JS基础扎实才能从容面对各种刁钻的问题。
  2. 简历真实。面试官一般都会问你简历上写的内容,你写得越多,问得就越多,阿里牛逼的人很多,你懂得多,他们一定懂得更多。千万不要不懂的,或者略懂的就写熟练、精通等词汇,你会被问傻的。
  3. 有研究精神。简历上用到的技术栈,你必须研究过其中几个的原理,思考过其结构和原因,有闲余时间可以自己试着模仿着写一套出来,例如 vue-router,它是怎么实现跳转的,为什么history模式会向后台发送请求,hash和history模式根本的区别是什么,有没有更好的方式优化router等。
  4. 有行动力和思考力。阿里比较看重自我驱动力,所以会看重你在做需求的时候,有没有更好的解决方案,有没有自己思考过其合理性,有没有最佳实践。或者做业务开发遇到问题了,你是怎么主动推动解决的,有没有自主开发什么工具提高开发效率,有没有自主做了什么优化流程,甚至颠覆目前的开发模式等。
  5. 有博客沉淀或者开源输出。这是一条加分项,不是必须,但是有了它你会获得更多的面试机会,会优先考虑。
  6. 运气。很实在,也很无奈。阿里很多部门招人只是为了填补缺人的岗位,有的时候不是你优秀就会要你,但是只要你足够优秀,其他部门会抢着要你。

简单来说就是,基础扎实,简历真实,有钻研精神,会搞事情,那么你就一只脚踏入了阿里。

总结

其实回过头看看自己以前的经历,我有点感慨,或许我在做每一个选择的时候,每一次到达自以为是的高峰的时候,如果没有经历挫折的打击,看清自己,看清世界,那我可能就一辈子无缘阿里了。

这就是一个纯屌丝,二流本科,两年外包,三年进阿里的故事,希望大家有所收获,共勉。

注:转载请标明出处,违者必究。