就现在!蚂蚁「校招季」重磅来袭!除了介绍蚂蚁的技术大咖,我们还邀请了一些通过校招来到蚂蚁的过来人分享他们的通关经验和心得,这里随时可能有行业技术大咖和你的直系学长学姐出没哦~「校招季」栏目会持续输出有关“蚂蚁校招”的丰富内容,敬请期待!
我是蚂蚁金服-CTO线-可信原生技术部的开发工程师夏睿,2019年7月份通过校招正式地加入蚂蚁。从拿到实习offer到现在,我在蚂蚁已经快两年了。
还记得收到实习 offer 短信时是个傍晚,被面试季折磨得有些疲惫的我心情有些些低落,换好了运动服准备去操场跑步散心,就在刚迈出宿舍楼没多远,就收到了蚂蚁金服的喜报短信。
回顾这两年的点滴经过,我能够真实地感受到自己的成长,也有许多经历想同正面临毕业求职的大家分享。
“逆袭”:从期末成绩红旗飘飘到成功拿到蚂蚁offer
在南京大学软件学院,我度过了本科和研究生的6年时间。大学生活本是每个人无比怀念的时光,于我,这6年却是迷迷瞪瞪、跌跌撞撞、有笑也有泪的6年。和大多数计算机专业的普通同学一样,我在大学前从未接触过编程,选择这个专业也不过是源于不错的就业前景,以及“大家都说难,我偏要做做看”的一股年轻气盛。然而这年轻气盛在我迈入大学的那一刻起就败给了贪玩,以往踏实勤奋的我像一匹脱缰的野马,在大学这片自由的草原上一跑起来就忘记了学习。社团活动间的盲目奔波,匆匆应付的课程实践作业,飘红的学期末成绩,辅导员老师的谈心,概括了我的大学前两年,算是个妥妥的学渣了(自信点,去掉“算是”,你就是)。
直到大三,周围渐渐浓郁的求职气氛让我开始静下心仔细想一想自己的未来,开始一门门补起落下的课,并决定考研。决定考研,一方面是当下对找工作信心不足,另一方面也期待研究生的两年能成为一个新的起点。然而天有不测风云,故事远没有那么简单,课余时间就把自己关在自习室复习的我,竟然漏掉了研考报名的线下确认环节,直到临考前下载不到准考证才发现。漏掉这个环节意味着所有的前期准备化为泡影,匆忙间,我踏上了求职的道路。在上海SAP作为临时实习生直到大学毕业,我最终还是舍不得白瞎了考研复习付出的努力,选择了再次考研。好在第二次的考研不再有什么故事,以最高分考入学院。
结束6年学生生涯,如愿进入蚂蚁
有了大学时的经历,从研究生开学前我就开始对自己有所规划,完成课业要求之外我也在留意补齐基础知识,为求职做准备。再加上学院鼓励实习,在毕业前一年的春招季我就投递了简历,经过为期一个月的4轮技术面试和1轮HR面,激动的心颤抖的手,我在4月初收到了蚂蚁的实习 offer.
正式进入蚂蚁缘于阿里在南大开的分享会,学长学姐们宣讲时自信的谈吐、清晰有逻辑的ppt、对技术前沿的理解让我心潮澎湃,之后我通过了解各大公司的特点、技术栈贴合度最后决定选择蚂蚁的可信原生技术部(Trust-Native Tech)。
其实面试季每个人都会或多或少地面临焦虑,甚至被拒后的短暂性自我否定,然而这是每个人踏往职场的必经之路,也是对专业知识的全面梳理和自己的重新审视,用我的好朋友灰灰的话来说,每个用心经历了面试季的人都会蜕一层皮,但蜕完皮熬过去了,结果会好的。但愿每个人都能用心地经受这场面试季的历练,也祝愿大家都有能互相鼓劲的同道好友,一起迎接柳暗花明。
此时此刻,小朋友你是否有很多问号:为什么我能从一介学渣转变到如愿进入蚂蚁这样的大厂实习?
在这里我也很想分享一下自己准备面试的心得和几轮面试的经历。
面试干货1:技术简历处处都得是“真功夫”
来到蚂蚁之后我也接到过学弟学妹投递的简历,有一些简历写得还不够好。除个人信息外,一篇技术简历至少需要讲清技术技能、项目经历这两个主要方面。
首先,技术技能这一项的目的,是以最精炼的方式概括出自己的技能掌握情况,给面试官提供最直接的参考,一般按照熟悉程度排序,使用“精通/熟悉/掌握”等描述掌握程度。
与之紧密相关的另一项则是项目经历。项目经历是技术技能的“evidence”,也能更详尽、全面地展现面试者的动手能力和思考力。项目经历描述建议采用“why/how/result”三段式描述,why 指项目背景,或理解成需求,需要重点描述实现了哪些功能,有哪些难点;how 指技术和方案设计,描述通过使用哪种算法/框架、或是通过哪种改进手段来解决或优化问题;result 则是成果,推荐用可量化的方式描述关键结果,例如“通过引入redis缓存,将响应时间从1s 减少至0.1s 以内”,这也是常常被忽略的一点。
学生的项目经历一般较少,在复杂度上也相对低一些,校招面试官们也会考虑到这一现实而放宽数目和难度的要求,但这完全不意味着把项目简单罗列就好。一来项目经历是简历的重要门面,还能体现面试者的逻辑和表达能力,决定了呈现给面试官的第一印象;二来项目经历是面试官提问的参考来源,最理想的效果是能引导面试官提问到自己有深入研究和思考的问题,最大地发挥简历的价值。
编写简历千万不要以为是套用模板填填空就好,简历上的每一句话都应当是有用的,虽然每个字都静静躺在纸上,但实际都在朝着面试官呐喊:这一项可以提问一下!那一项也可以深入聊一聊!
这里推荐两篇针对技术人介绍简历编写要点的文章:一篇是阮一峰的《如何写一份有效的技术简历》,另一篇是Lucida 的干货满满的《精益技术简历之道——改善技术简历的47条原则》。两篇文章有详有略,观点也不尽相同,建议综合起来参考。我曾从中受益匪浅,相信看完它们再写出来的简历也一定能成为你面试中的第一击。
面试干货2:技术是面试的硬通货——“唯学完+吃透尔”
如果说简历是面试的引子,那技术面中的问答就是面试的正文了。如果在平时,没别的就是多积累多实践,但如今春招迫在眉睫,秋招也并不遥远,还说平时多积累可能就和多喝热水一样敷衍了。当然,应对面试季也的确有特殊的复习技巧。
就我个人经验来看(后台开发,Java为主),几大项基础知识几乎必问:数据结构(尤其树、list、map)和算法(尤其排序、搜索、动态规划);网络基础(必问TCP 挥手握手,四层七层);操作系统基础(相对较少,内存分页分段、CPU分时、文件系统);数据库(常问事务隔离级别)等等,根据技术栈搜索“校招技术面试整理”就能一键 get 来自广大网友的全面整理,这些能够掌握的话,至少至少一面就完全足够。
除去基础部分,还有一些略微进阶的知识模块,我在面试前着重复习了JVM、设计模式、并发这几项,对应地,推荐《深入理解 JVM》《设计模式之禅》《Java 并发编程》这几本书,另外,java 源码也是非常好的学习来源。
此外还可以结合时下真实问题进行专项复习,比如我记得曾经专门学习了大数据场景下对各类算法的改进方案;另外还有常用开发工具(如git)和命令的使用等。
上面提到的知识点在网络上都能找到充足的资料,无他,唯学完+吃透尔。
这里顺便分享下我的面试经历。不得不说阿里效率的确很高,每轮技术面之间间隔大约1周时间,我最早接到的面试电话和最早收到的 offer 都是来自蚂蚁——当然,面试时的紧张和接受 offer 时的激动也是加倍的。
第一次电面时,我站在学院楼楼道窗前被寒风吹得直发抖,原本略微紧张的颤音变成了真的哆嗦,好在问到的问题相对了解,而面试官逐步引导和深入的提问方式也很大程度地缓解了紧张;而第二次接到电话时我跑去了鸡鸣寺看樱花,匆忙间跑到个人少的角落完成了面试,也和环境的影响有一点关系,我在这轮的表现就相对差了一些。这里也提醒在面试季的大家,工作日时间尽量保证自己处于容易专注的环境,实在特殊原因不适合面试的话,就只好和面试官另约时间了。
面试干货3:面试官更注重应届生的思考和理解能力
正如上一小节所说,相对于社招,面试官对校招同学在技术广度、深度和项目经历要求会宽松一些。就像我的老说的“校招生在技术上大多没有很大的差别,通过有意识地积累都可以很快提升”,那么既然校招生在技术上的差别没有我们自己想象的那~么大,面试官除了看技术水平之外,还会怎样衡量大家的水平呢?我的看法是,面试中展示出来的思维过程也很重要。
如果我是校招面试官,我想我会关注同学对知识点的理解是否透彻,在被提问到之前有没有主动思考过,这就需要平时和复习时习惯性地主动思考,有意识地构建自己的知识体系,多一些知其然知其所以然,少一些浮于表面的“虚假掌握”;另外在我的经验里,面试官的提问经常是引导式和步步深入的,这有点类似于高考物理大题分了几个小问,前面的问题往往能对后续问题的思路有所输入。
事先清楚“最后一问”的解法是很棒的,但有些问题即使原本不了解,在面试官的引导发问中找到答案也是不错的表现;最后电话面试全程靠语言交流,如何用尽量精炼的话语逻辑清晰地表达自己的想法,也是一项可以有意去训练的能力。
面试干货4:你是哪种颜色不一样的烟火
校招学生在经验和能力上都还有很大的提升空间,因此我们追求的并非面面俱到、样样精通,而是在短暂的几十分钟面试时间内展示出自己的亮点。实际上从简历到面试,每个环节都是一次展示自己的机会,如果能在这个过程中展现出自己的亮点,给面试官留下深刻印象,整个面试也就向成功迈出了一大步。
展现亮点的前提是有亮点。对应届生来说,建模比赛获奖、技术论文发表、向开源项目贡献过代码、github 项目可观的 star 数都能让面试官眼前一亮;但很多同学在这几个领域没有拿到过成绩,要如何展示自己的亮点呢?事实上,大部分同学都会写写总结性质的技术博客,把自己的博客写得清晰、有一定深度也是很不错的亮点。此外,对某项技术有超出大多数人的了解、看过某些领域的源码并且有很多思考、能用技术手段解决生活里问题(例如课余时间给自己开发了个小工具)都是可以着意展示的亮点。
定位好了自己的亮点,接下来如何展示亮点呢?
一方面,在简历中适当地强调自己的技术优势,写项目经历时可以在自己熟悉的技术、方案上多写几句;另一方面,在面试中,做自我介绍和回答问题时也可以做好铺垫和引导,面试官一般都会顺着多问一问。
面试的目的不是谁把谁问倒,适当的引导能帮助面试官了解我们擅长什么,是否匹配岗位,对我们自己来说则是抛出亮点的重要方式。
在蚂蚁两年的关键词:重磅项目、技术大佬、技术大学、良师益友……
回想2年前的今天,我也和屏幕前的你一样,一边认真地研读着学长学姐的面试经验,一边憧憬着自己的未来。如今一转眼,我的“蚁龄”也将近2岁了。
这两年的时间里,我看到了自己肉眼可见的进步,接触到越来越多令人振奋的技术和项目,见识了大佬们深厚的技术实力,也交到了很多好朋友。在这里也把我加入蚂蚁以来的经历和感想分享给大家。
每个通过校招加入的新人都会经过百阿和近卫军的洗礼。青年近卫军是蚂蚁技术新人培养项目,对我来讲,可以具体说是为期一个月的带薪培训 + 快速融入适应期 + 做项目 + 交朋友的难忘时光~ 培训第一天和一同入入职的同龄人一起参加户外素质拓展,之后一起组建团队完成一个mini alipay的实践项目。
虽然只有短短的一个月,但近卫军留给我的上手技能都还很有用、和小伙伴们一起吃过的火锅撸过的串也还记得味道,在近卫军期间交到的好朋友们依然常常联系。
青年近卫军第一天——户外拓展
正式入职不久我也就经历了一次小的调整,从传统的java中台开发转为做更加底层的云原生编程语言的项目,最初的几个月真的是不断受挫、紧张又刺激。幸运的是我的老板兼师兄很有耐心,从介绍背景知识到制定学习计划,从分享经验到心态鼓励,带我走出了最初的困顿期。最近我在对接项目时常常需要向其他团队的同学请教和交流,也感受到了技术人的主动和专业高效。
阿里“新六脉”把快乐工作,认真生活列为了价值观之一,除了积极参与部门组织的团建和年会,工作之余我也一直尽力保持自己认真生活的目标。作为程序员的我有个非典型程序员的爱好——种花,畅想退休之后能涌有一个自己的小花园~现在出租屋的阳台里盛满了花香和春天的阳光;我还利用周末时间学会了滑冰,平时也能时不时下厨做几道颇受好评的菜。
实习之初,欢乐的武夷山团建之旅
还记得两年前我上网翻着楚辞精心为自己挑选了花名:瓴熙——高屋建瓴,缉熙敬止,这两句话在两年的时间里一直鞭策着我,以高远的目光,怀诚敬之心,向着至善不断地努力。对于我,选择蚂蚁也就是选择了更大的平台、更高的起点,同时也是主动选择了挑战。这两年的时间我收获过也受挫过,有成长也曾有急得偷偷哭过。但现在回望这段刚刚启程的时光,我想我十分确定,当初没有选错。
写给正在面临面试的你们
人生是一场漫长的马拉松,我们未来能站到什么位置取决于现当下是否在全力地奔跑。不管你是像我一样曾经怠惰,还是在毕业的关头忽然迷茫无措,现在开始脚踏实地、跑起来吧。校招面试就是这马拉松里阶段性冲刺的一段,相信做足准备的你一定能厚积薄发,如愿上岸。
如果你也认为“年轻时就要做年轻人该做的事”、如果你渴望挑战、期待突破,想站在巨人的肩膀上继续创造,欢迎加入蚂蚁;如果你热爱探究技术的本质,对操作系统、编程语言、云原生社区感兴趣,欢迎加入蚂蚁金服-可信原生技术部。春招已经拉开序幕,我们在这里等你来。
加入我们
> 职位简介
部门:蚂蚁金服-CTO线-可信原生技术部
地点:杭州市西湖区 成都市高新区
岗位:实习开发工程师
面向:2020.11 -2021.10 毕业的本科/研究生
面试形式:通常是电话面试,会提前预约合适的时间哦
简历投递:xiarui.xr@antfin.com
> Who Are We?
我们是来自可信原生技术部(Trust-Native Tech)的云原生工程系统(Cloud-Native Engineering System)团队。
蚂蚁金服正在推进国内最大规模的云原生化落地,并逐步聚焦云原生应用综合交付效率及稳定性。云原生工程系统旨在通过编程语言及框架的形式加速云原生落地,聚焦云原生各领域的体验、效能、稳定性、安全等关键问题,提供相关基础系统及理论支撑。
> 在这里,你将:
1.从事云原生可编程基础设施研发,包括但不限于 DSL 设计及引擎研发、SDK 研发、工具链研发及项目落地,服务于蚂蚁工程效能、运维交付、安全可信等重要场景;
2.从事云原生外带技术及工具研发,帮忙蚂蚁的研发、SRE 团队低成本、高体验的使用云原生基础设施及服务,提升蚂蚁超大规模 k8s、mesh 集群使用的敏捷性,推进云原生模式的普适化,加强落地安全性和稳定性,进一步释放云原生技术生态红利;
3.从事云原生基础设施的形式化验证系统研发;
4.深度参与云原生开源社区项目。
> 领域方向
1.云原生方向:熟悉云原生领域头部项目(k8s,istio 等)api层、模型层及关联规范、标准,熟悉其典型场景;熟悉 k8s api server、kubectl/istioctl、operator机制、kubebuilder,项目 commiter 优先;
2.编程语言方向:熟悉现代编程语言体系,有parser/interpreter(如python、 js、lua等)配套SDK,及研发、测试、调试工具链研发经验者优先,有云原生领域落地实践者优先;
3.形式化验证方向:熟悉形式化建模(分布式系统建模、离散工作流建模、规则约束建模等)方法,有研发实践经验者优先。
> 基础要求
1.熟练掌握golang、c/c++、java、python中的一种或多种,有云计算场景工具系统研发经验者优先;
2.扎实的算法及数据结构基础,对软件工程有良好的理解;有高性能服务端研发经验者优先 ;
3.有技术热情、责任感,致力于推进云原生的深度爱好者优先。