我是2018年3月入职蚂蚁的应届前端工程师,来自于北京邮电大学。2年前的此刻,我也是实习求职大潮中的一员,在这里,分享一下我从准备面试到实习,再到最终正式入职的经历。
/ 选择蚂蚁 /
阿里的前端水平在业界有着很高的评价,以至于知乎上经常有人这么描述,
“
国内前端,不是在阿里,就在去阿里的路上”
。相信对于每一个做技术的小伙伴,进到顶级的技术团队进行工作,一定是自己最大的梦想。
我也不例外,而且进入蚂蚁的梦想是随着我的前端学习过程逐步形成的:在学校时曾使用koa框架及其周边配套工具,后来发现koa团队的两位核心成员dead-horse(死马)和fengmk2(苏千)竟然都是中国人而且都是在支付宝工作。后来使用Antd和dva时发现这两款github star数上万的开源作品也出自蚂蚁前端,便开始认识到蚂蚁金服有着相当强的前端实力。
2017年初,我关注了很久、并从他博客里学到太多知识的民工叔徐飞,也跳槽进入到蚂蚁,一下子让自己对于蚂蚁前端有了向往之心。
不久之后,通过苏千在CNode社区发的一篇招聘贴,我才知道原来这些大牛们竟然都在一个部门:
蚂蚁金服体验技术部
,这里还有Antd 作者偏右、dva作者云谦,有echarts作者林峰,有著名博主阮一峰,还有egg.js、AntV等等业界知名作品,而部门负责人,则是著名的玉伯大大。
内心被这个部门的强大实力所折服的同时,也真切渴望自己未来能进入到这个部门工作。
/ 学习与沉淀 /
在真正开始面试之前,自己经历了比较长的准备期。
同很多学弟学妹一样,我在学校的课程里也没有前端相关的内容,机缘巧合,在导师实验室的一些项目中负责网站相关的部分,书写php的同时也需要完成大量前端代码。也正是因此,开始喜欢上前端并决定以前端作为自己未来求职方向。
于是在研一时,一方面开始阅读各类前端书籍,
犀牛书、红宝书、蝴蝶书、CSS权威指南等,一方面在实验室的一些项目中尝试前沿的前端技术,比如当时还处于 0.12版本的Vue,比如node。
后来实验室几位已毕业的师兄辞职创业,邀我暑期前去实习,实习中对于工业界前端开发的全流程都有了一定的了解,也掌握了Webpack、ES6、 Vue 1.0全家桶等等技术栈,并将koa落地到公司的一个后台管理业务中。
2016年研二时,自己已经具备了一定的前端能力,而实验室的项目都比较琐碎零散,难以获得个人成长。便开始自己完成一些开源项目,自己给自己提需求,在做项目中学,在实践中挖掘可以深入的点,完成了AMD模块加载器,基于koa、MongoDB和Vue的博客,Vue源码解析,node爬虫等等小项目,并在书写代码过程中通过博客总结和输出。
这一过程让自己得到了快速成长,
同时收获的1千多个github star也增长了自己的自信,开始更多地投入到前端技术的深入研究当中。
在不断深入前端领域的同时,从2016年研二开始,自己也开始为实习面试进行准备,在大量查阅往届同学的面试经验后,开始有目的地准备前端面试:
前端基础、前端框架、网络、安全、前端性能、浏览器原理、工程化、node相关、数据库、操作系统等部分的内容
,并以周为维度逐一复习和总结。同时,开始学习算法和数据结构,然后在leetcode上刷了200多题,
算法对于前端同学也是非常重要的内容
,当时投入了大约3个月的时间单独提升算法能力。
/ 面试与实习 /
在内推蚂蚁之前,自己先面试了一些互联网公司,算是积攒了不少经验,但在蚂蚁开始面试时,依然比较紧张,毕竟是自己最为看重的工作,好在一路顺利,最终拿到实习offer,并于6月入职实习。
入职之后才是惊喜真正到来的时刻,这一次的实习是
双部门联合培养的方式
,由体验技术部的师兄指导我前端部分的工作,而数据平台部的师兄指导我后端java部分的工作,参与一项重要业务的全栈开发当中。
自己java实战经验不多,师兄便制定了Mybatis插件开发、ReentrantLock源码阅读等多个小任务以在业务之余逐步提升技能。
同时在体验技术部,则开展了实习生“花骨朵”计划:连续六周,每周指定一个前端相关主题(esnext、react、node等等),每位实习生围绕主题进行分享,并邀请该领域的专家进行点评,最后大家投票评出最佳分享。
实习的几个月非常充实,既有复杂业务的挑战,也有许多的技术内容需要学习,更要时常反思总结、分享输出。但这样的环境让每个人都非常快速的成长,同时师兄们也一直进行着细致的辅导,有任何问题,师兄们都会耐心的解答、沟通,也可以直接咨询部门里的大牛们,说到这里,不得不说一个来体验技术部实习的大福利:
以往自己使用各种开源框架、类库时,遇到问题,肯定会选择到github上提issue、读源码。现在,作者就在身边,就在几米外的工位上,直接带着代码去问就行!
/ 面试经验分享 /
最近实习春招开始,学弟学妹们应该也是在准备面试当中,前端同学的复习准备则可以参考我前文所述的实习准备过程。对于实习生同学,
面试时比较看重编程语言及相关工具的掌握,以及对数据结构、算法等计算机学科要点的理解要扎实。
往届同学的面试经验是很重要的信息来源,同学们在面试前一定要多多查阅,并参照着进行个人知识的完善。同时学弟学妹们也要注意自己
知识面覆盖的完备性
,尽量避免有知识空白的出现,比如一些前端同学在网络(比如http/https/http2/tcp/udp等)和安全等领域知识的缺失就会影响自己的面试表现。同时,每次面试之后一定要立即做认真的记录,记下自己认为没有答好的点,然后
做全面的查阅、理解,确保后续再问到类似问题
时,能给到面试官最为全面、准确的回答。
此外,面试时一定要调整好心态,即使被面到不会的问题,也要让自己保持冷静、快速思考,尝试逐步分解问题,并一步步建立自己的思考逻辑,吐露自己的每一个想法,保持一种努力解决问题的姿态,而不是简单的“我不会”就放弃,这样即使给出的方案不好、甚至有错误,但是面试官也能了解你的构思过程和考虑边界。
/ 期待与你相遇 /
一转眼距离2017年实习时已经快两年了,而我自去年3月入职以来,也已在蚂蚁正式工作一年了。入职蚂蚁后参与一款数据产品的开发工作,从前端埋点、数据清洗、计算再到前端数据可视化呈现都需全流程参与。大家吃饭时、回家路上也在讨论解决方案,这种浓郁的技术氛围对于应届生的技术提升和眼界拓宽是非常有用的。
而入职半年后,leader开始让自己负责一块独立的业务,从方案设计、项目排期、工作分派都由自己负责,踩坑的同时也在快速反思和总结,技术快速提升的同时,也增长了各项软技能。
紧张的实习春招季已经到来,相信不少学弟学妹们正在繁忙的复习、面试,也十分欢迎学弟学妹们加入蚂蚁金服,加入体验技术部,在极其有挑战的环境中,不断提升,快速成长。
蚂蚁金服热招岗位
1、技术基础扎实,熟悉 JavaScript、HTML、CSS、计算机与网络、数据结构与算法等知识
2、熟悉模块化、前端编译与构建工具,了解React、Vue等主流前端框架,能理解其设计原理
3、具备强烈的技术进取心,有良好的沟通与合作精神,拥有优秀的问题分析及解决能力
加分项:
1、参与过开源项目,或有个人作品(需提供案例)
2、有服务端开发经验(微服务、Serverless、PaaS等,使用过Node、Java、Go等服务端语言)
3、了解可视化知识,熟悉 SVG、Canvas或WebGL,使用过D3、G2、ECharts等类库
实现智能用户行为数据采集,用户行为语义化,识别用户关键操作。 发现用户行为模式,分析异常行为,并进行归因。 实现数据的智能可视分析,涉及用户分析目的理解、UI推荐、UI自动生成等。 实现自然语言的意图分析,并用形式语言和特定数据格式来描述。
1、计算机或数学相关专业,有良好的英文读写能力
2、熟练使用Python/Java/SQL,有良好的编程习惯
3、有扎实的算法基础,关注算法效率,熟练使用相关工具类库
4、有大数据开发、数据挖掘、机器学习、自然语言处理、3D 重建等一个或多个领域理论知识或实践经验者优先
5、有体系化思维能力,善于发现、定义、分析和解决问题,能将问题转化为计算模型
1、必须同时具备交互和视觉方面的设计能力(用作品说话)
2、具有良好的艺术修养,有扎实的设计基础,对设计趋势有敏锐感受
3、同时熟练掌握 PS、AE、AI、PR、Sketch 等设计软件
4、积极主动,善于沟通,有良好的团队合作能力,能很好的阐述视觉观点和设计价值
5、有担当有责任感,能合理安排优先级,有较强的抗压能力
加分项:
1、了解WEB /移动产品设计经验,有中台类设计经验者可加分
2、如果视觉设计方面同时具备手绘、品牌、GUI、3D、动效,影视等相关特殊能力可加分
3、具备体系化的思维,已有相关设计规范和方法论总结可加分
4、拥有良好的英文读写能力和国际视野,有阅读国外先进作品和文献的能力可加分
5、有用户研究经验和能力加分
简历投递