三个部门,十四轮面试!我是如何从小城市一步步迈进阿里的

Posted 不爱码字的程序员-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三个部门,十四轮面试!我是如何从小城市一步步迈进阿里的相关的知识,希望对你有一定的参考价值。

背景

本人从事前端4年,一直在郑州几家中小企业做前端工作,整个研发团队最大不到20人。且先后换了三家公司,先天条件可谓极差。可能是心中的不甘心吧,后来历经三个部门14轮面试成功进入阿里。

我是如何进入阿里的?

首先要有明确的概念

在我们这里,90%以上的前端或公司不会去讨论大厂,甚至连讽刺和趣事都不会多看两眼(估计因为不用脉脉),仿佛是比清华北大更虚幻的两个世界。但是随着前端行业的整体提升,这里也开始有些许前端通过博客平台和github能和社会接上轨,打开闭关锁国的局面。当我们认知到有大厂存在和进入大厂的要求和途径后,我们就可以往这个方向上去准备。

要有自我追求极致的心态

我曾在一份工作需求中,面对功能实现极为复杂且位于世界范围内前列的产品供应商敢于亮剑,在借助它们的产品耗时一个月开发完一个功能(极小众需求、国外产品、破解版未提供文档、国外论坛资料都极少)后,自己因为不满意其在当时环境的表现,花了周末一天半的时间从0开发出来一个从易用美观扩展性强上手快等方面上表现优异的重制版。
自发的想要做出好的东西,比业务完成能跑就行更能提升自己。

要有真的想做就无惧困难不找借口的三观

在另一份工作中,有位同事说不想写业务了,想做啥啥啥。
我说如果你真的想做的话应该已经做出来了,因为除了我们都要做的日常业务开发之外,我还需要去协调前后端的工作进度,和硬件团队对接,向客户的宣讲等,我的空余时间比你要少许多。但是在没有任何人要求我做也没有专门分配时间来做的情况下,把公司从前后端未分离(2020.1,也就是去年)的比较落后的情况,转为当时比较前沿的微前端架构,并且梳理工程结构,编写脚手架,制定微前端的nginx方案和docker方案,编写多个辅助微前端开发的脚本,制作多种工具,形成了较完整的微前端开发闭环,抹平了小团队微前端开发模式的上手成本和工作成本。让团队提效了,公司也得以小团队实现多条业务线并行。(具体微前端是啥有兴趣的可以了解一下,到今天这个话题在博客平台依旧挺火的)。
当你想做或者认为该做的时候就去做,环境总不是为我们而存在,如果你有意识自己做开拓者,未来必定会长远许多。

能从业务实现中脱离出来从上层往下看

首先大家有一点共识:学了总不用等于白学。这也是小城市前端进阶的一大牢笼。且日常业务谈不上多大难度,技术能力和经验易被取代,前景更是蒙上一层阴翳,也难怪许多人会有搬砖无意义或前端无用论。但小城市目前前端环境如此,需要我们自己破局。
简单猜想非一线城市80%的公司应该都是中小企业,公司不重视代码质量是常态但一定会重视开发效率。所以提效是我们能接触到并能实践的进阶最佳道路。而我们普通前端能有效践行的提效方向不外乎工具,抽象,基建,脚本,Mock,构建工具,ide插件,CICD,优化几个点

我在阿里干了啥

进入阿里之后我发现即便在这里依旧有许多抽象的需求存在。
我曾在第三周向老板提问,如何在日常繁忙的业务工作中实现业务模型的抽象和下沉,得到的回答是当我们拿到一个需求,把它实现出来只是最基本最基本的素质,甚至我理解这不是60分而是0分,除此之外我们要思考和解决的东西才是真正得分的开始,而这部分做的越少、越晚,未来背负的债就越大。
于是我一直从践行这一思想出发,在刚入职的前两个月完成的四个需求中便积累出来一个业务占比在一半以上的功能容器(使相关业务常规功能部分工作量降低了77%)和参与重新梳理并实现了某个复杂组件协议的重构(使相关业务工时由一周缩短为一天)。且这两个积累都是在日常工作排期之外创造条件完成的,其后也将这两项内容在整个大团队作为后续的标准推行。
所以一个人不是说只有搞定越难的越厉害,能在看似合理平常中找到有效革新才是大多数人能够在日常中践行的。
当一个业务需要写第二遍的时候,我就会去考虑将其抽离出来做封装而不是去做简单Ctrl c Ctrl v。得益于我从19年底开始就做微前端到21年初,对于模块复用从认知的层面上可能就无形的被扩大了很多,当我们说模块封装的时候,我可能想的不单单是某个原子组件,某块功能的封装,也可以是整个业务流程的封装。比如说我做OA系统的时候我会直接做一个表单生成器+表单解析器+前端工作流平台,这样整个OA审批流业务都抽象出来了。再比如稍微大点的公司或者业务线较多的,可能会有大家比较熟悉的单点登录系统,其实就是把认证中心抽离出来,给其他各系统同步身份信息,让用户有更好的登录体验。其实微前端-微应用的思想简单来说(并不是很恰当)只是把类似的思想进一步的在业务范围扩大,将一个巨无霸应用的整个组成部分抽象出来封装,比如整个OA系统,登录系统,订单系统,工作流等。因此封装的概念不会局限于所谓组件本身,需要的话一个重复的功能,一段重复的业务,一条重复的流程,一个完整的系统都可以从封装的思路把它抽象出来,一个是缩小了无意义的代码量,一个是减少了不必要的重复劳作,也统一了行为一致性。

博主也是整理一些当时备考面试时的一些资料,需要的小伙伴可以点击点击这里自行领取

由于篇幅问题,需要的点击点击这里领取

最后

技术是没有终点的,也是学不完的,最重要的是活着、不秃。零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。


 


 

以上是关于三个部门,十四轮面试!我是如何从小城市一步步迈进阿里的的主要内容,如果未能解决你的问题,请参考以下文章

我是如何从小城市前端一步跨入顶级互联网大厂的

从小厂逆袭快手,我是如何从PHP转Java的

差距:我是如何一步步落后于别人

差距:我是如何一步步落后于别人

支撑千万级并发的架构师如何一步步演进的?

第四轮面试题