摘要: 想和业界的技术大牛并肩作战?想学习最前沿的技术?想参与超酷的大项目?想获得亿万用户的点赞?蚂蚁金服春季校招开启了!面试很难?没有信心?这都不是事儿,这儿有一系列的“面试宝典”。
文/图 源介
我是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 等等),每位实习生围绕主题进行分享,并邀请该领域的专家进行点评(比如 esnext 主题就由阮一峰师兄进行点评),最后大家投票评出最佳分享。大家分享的内容精彩纷繁,评委的点评环节也能直接带给大家更深层次的思考与实践经验,每次分享完,大家都能学到相当多的知识。同时,还开展了集体 code review 活动,由多位经验丰富的师兄 review 大家平时书写的代码,提供优化建议。
实习的几个月非常充实,既有复杂业务的挑战,也有许多的技术内容需要学习,更要时常反思总结、分享输出。但这样的环境让每个人都非常快速的成长,同时师兄们也一直进行着细致的辅导,有任何问题,师兄们都会耐心的解答、沟通,也可以直接咨询部门里的大牛们,说到这里,不得不说一个来体验技术部实习的大福利:以往自己使用各种开源框架、类库时,遇到问题,肯定会选择到 github 上提 issue 、读源码。现在,作者就在身边,就在几米外的工位上,直接带着代码去问就行!
最近实习春招开始,学弟学妹们应该也是在准备面试当中,前端同学的复习准备则可以参考我前文所述的实习准备过程。对于实习生同学,面试时比较看重编程语言及相关工具的掌握,以及对数据结构、算法等计算机学科要点的理解要扎实。
往届同学的面试经验是很重要的信息来源,同学们在面试前一定要多多查阅,并参照着进行个人知识的完善。同时学弟学妹们也要注意自己知识面覆盖的完备性,尽量避免有知识空白的出现,比如一些前端同学在网络(比如 http/https/http2/tcp/udp 等)和安全等领域知识的缺失就会影响自己的面试表现。同时,每次面试之后一定要立即做认真的记录,记下自己认为没有答好的点,然后做全面的查阅、理解,确保后续再问到类似问题时,能给到面试官最为全面、准确的回答。
此外,面试时一定要调整好心态,即使被面到不会的问题,也要让自己保持冷静、快速思考,尝试逐步分解问题,并一步步建立自己的思考逻辑,吐露自己的每一个想法,保持一种努力解决问题的姿态,而不是简单的“我不会”就放弃,这样即使给出的方案不好、甚至有错误,但是面试官也能了解你的构思过程和考虑边界。
一转眼距离2017年实习时已经快两年了,而我自去年3月入职以来,也已在蚂蚁正式工作一年了。入职蚂蚁后参与一款数据产品的开发工作,从前端埋点、数据清洗、计算再到前端数据可视化呈现都需全流程参与,很多场景在业界没有相似方案,我们都在采用自己创新性的算法、机制进行尝试、突破,采集一些前人没有采集过的数据,深入少有人深入的领域。大家吃饭时、回家路上也在讨论解决方案,这种浓郁的技术氛围对于应届生的技术提升和眼界拓宽是非常有用的。而入职半年后, leader 开始让自己负责一块独立的业务,从方案设计、项目排期、工作分派都由自己负责,踩坑的同时也在快速反思和总结,技术快速提升的同时,也增长了各项软技能。
紧张的实习春招季已经到来,相信不少学弟学妹们正在繁忙的复习、面试。祝愿学弟学妹们能好好把握机会,充分展示自己,拿到自己心仪的 offer ,同时也十分欢迎学弟学妹们加入蚂蚁金服,加入体验技术部,一同为亿万支付宝用户打造良好的用户体验,也同其他入职蚂蚁的同学一样,在极其有挑战的环境中,不断提升,快速成长。
聪明、皮实、乐观、自省是阿里的人才观,这在源介身上就表现得十分亮眼。北邮国重出来的研究生,成绩和动手能力都很好,聪明无疑。虽然每一个新同学都有一名师兄辅导,但每一位新同学都是要独立完成一些事情的。面对蚂蚁复杂的业务挑战又有身经百战的高年级同学把控,自信满满的产出也有可能被各种挑战,斗志昂扬地进入项目评审会议室,垂头丧气的出来不是什么稀奇事,这就要求我们的同学有越战越勇的魄力,哪里跌倒就在哪里站起来的皮实。源介参与了一个极具挑战的创新性项目,个中挫败难免,但能看到源介反脆弱的每一次反弹都让他到达了一个更高的水平,这就是皮实。还有无惧困难,善于发现积极一面的乐观态度以及自律学习、认真总结的自省习惯。从源介身上能看到阿里的人才标准,也是我们对新加入同学的要求,希望这可以给到大家一些参考。
阿里聚集了大量这样优秀的人才,这里不缺老师,不管高低年级,每一位同学都有值得自己去学习的地方;这里不缺挑战,我们每天面临的都是十亿级用户需求背后所带来的技术挑战;这里是开放和平等的,不管高低年级我们也都直呼其(花)名,平等对话与协作;我想这或许就是体验技术部对新同学来说最大的吸引力吧。
因为时间是一去不返的,当下的自己用这最宝贵的时间去换取什么?我想,对于刚入职场的同学来说,一段快速成长的经历是尤其重要。在我这些年遇到过的人总结来看,快慢车道上的起步或许决定了未来可达的高度。祝同学们找到自己满意的工作~
前端工程师
技术基础扎实,熟悉 JavaScript 、 HTML 、 CSS 、计算机与网络、数据结构与算法等知识
熟悉模块化、前端编译与构建工具,了解 React、Vue 等主流前端框架,能理解其设计原理
具备强烈的技术进取心,有良好的沟通与合作精神,拥有优秀的问题分析及解决能力
加分项:
参与过开源项目,或有个人作品(需提供案例)
有服务端开发经验(微服务、Serverless、PaaS 等,使用过 Node、Java、Go 等服务端语言)
了解可视化知识,熟悉 SVG、Canvas 或 WebGL,使用过 D3、G2、ECharts 等类库
算法工程师
实现智能用户行为数据采集,用户行为语义化,识别用户关键操作。 发现用户行为模式,分析异常行为,并进行归因。 实现数据的智能可视分析,涉及用户分析目的理解、UI 推荐、UI 自动生成等。 实现自然语言的意图分析,并用形式语言和特定数据格式来描述。
岗位要求
计算机或数学相关专业,有良好的英文读写能力
熟练使用 Python/Java/SQL,有良好的编程习惯
有扎实的算法基础,关注算法效率,熟练使用相关工具类库
有大数据开发、数据挖掘、机器学习、自然语言处理、3D 重建等一个或多个领域理论知识或实践经验者优先
有体系化思维能力,善于发现、定义、分析和解决问题,能将问题转化为计算模型
设计师
必须同时具备交互和视觉方面的设计能力(用作品说话)
具有良好的艺术修养,有扎实的设计基础,对设计趋势有敏锐感受
同时熟练掌握 PS、AE、AI、PR、Sketch 等设计软件
积极主动,善于沟通,有良好的团队合作能力,能很好的阐述视觉观点和设计价值
有担当有责任感,能合理安排优先级,有较强的抗压能力
加分项:
了解WEB /移动产品设计经验,有中台类设计经验者可加分
如果视觉设计方面同时具备手绘、品牌、GUI、3D、动效,影视等相关特殊能力可加分
具备体系化的思维,已有相关设计规范和方法论总结可加分
拥有良好的英文读写能力和国际视野,有阅读国外先进作品和文献的能力可加分
有用户研究经验和能力加分
有兴趣的同学们,快快把简历发到这里:zhizheng.ck@antfin.com。
想“近距离”、“无死角”地了解前端大神们?那就赶紧去看看蚂蚁金服体验技术部的团队博客:https://www.yuque.com/afx/blog
作者:华蒙