前言
一年一度的校招季又要来临了,我们怎样更好的理解招聘背后的人才要求,以及未来要怎么选择。应届加入阿里9年的师兄整理了以下内容分享给大家,希望能以阿里的校招为例,更好的帮助大家理解大公司背后的用人准则,以便大家更好的准备和作出未来的选择,虽然本文以阿里为例,但背后的思考方式同样适用于其他公司。
对于即将毕业的同学来说,不管是对校招的流程还是公司的用人标准都比较陌生。面对校招我们需要清晰的了解流程,并对考核标准有清晰的理解并做准备,同时需要通过每次的总结沉淀经验,在未来取得更好的成绩。
以阿里流程为例,本文会从以下几个角度进行分享。
•流程解读 •考核标准解读 •具体准备工作 •一些小建议
1. 流程解读
以阿里为例,阿里今年的流程与往年类似,有线上的机试与面试环节。目前招聘主要是面向实习生。
-
对于技术同学来说,机试有通用的算法部分,也会有跟软实力(逻辑思维/沟通协作) 相关的评测题目,这两部分都很重要,也有比较统一的评判标准,因此非常重要,需要大家好好准备。
-
面试环节针对往年说的流程长的问题,今年会简化,下放更多权利给各个BU,一般情况下是2-3轮技术面加HR面,不同的部门会有一点差异,以闲鱼为例,我们会尽量缩短该流程,如能面试官一起合并面试的话,会尽量一起面试减少流程。(所以有的面试可能有两个面试官一起哟)不同阶段的面试考核要求和重点也不同,技术一面通常是基础知识,二面考察技术在实际项目中的应用,以及自己在项目中的一些软实力。终面是技术一号位和HR一起进行面试,更多会从综合素质看大家未来的成长性。因此每一面的重点会有所不同。
通过后团队会发送offer,大家就可以来实习啦,实习中会参与闲鱼实际的项目,跟师兄师姐一起面对真实的线上环境,解决每一个用户的痛点,目前闲鱼有两亿的用户数,面对这些用户的真实诉求,想想自己的代码能真实的帮助这么多人卖出/买到自己喜欢的东西,恭喜你迈出了改变世界的第一步。
对来实习的同学来讲,如表现优秀,后续的转正流程会比较顺利,我们会有正式的答辩考核并重新定级。告诉你们一个小秘密,师兄当年就是实习后考核全优留在阿里的,提前实习可以更好的了解业务和团队,更早的了解这个团队是否适合自己(业务是否有成长性,团队技术氛围如何,主管是否关注个人成长并会为你的未来争取更多的机会),也会把更多的主动权留在自己手里,师兄强烈建议要先实习再做决定。
另外关于校招开放的时间,往期阿里分春招实习和秋招正式offer,目前师兄了解到的是,未来校招周期会更加灵活,不过我依然建议大家尽量赶早一些,毕竟时间有限,在毕业前更早实习对自己有更大的帮助哟。
2. 考核标准
聊完流程,我们来聊一聊大家最关心的考核标准,只有明确了考核标准,才知道自己在哪个方面有优势,哪个方面有欠缺,从而能更好的准备。以阿里为例,往届考核的标准主要以三个维度来考核,核心希望我们的新同学能满足以下三个条件,我把三个条件的简单描述放在了图中,这里我讲一下自己的一些理解
-
基础
基础顾名思义,技术类核心还是希望考察在计算机相关方面的基础知识的深入情况,因此咱们日常学习的课程相关的知识就很重要啦,操作系统/数据结构/算法/计算机网络/编译原理等,都是咱们重点考察的范围,另外围绕知识的一些扩展,比如一些比赛成绩,还有在校成绩都可以作为该方面的佐证。 -
热情
技术人当然是对技术的热情啦。毕竟只有自己热爱的事情才能更好的投入精力做的更好,技术人讲的工匠心首先一定是要有热情才会有成为极客的可能性。热情的考核也比较明确,除了你大学应该做的学习内容以外,你希不希望了解更多行业的知识,从更多渠道拿到这些知识和方法并自己应用。了解这些信息以后会不会动手去试试,比如做一个App,做个网站啦,开源写点demo啦,事情不嫌小,但主动,自发,并且自己有获得感是很重要的,对自己做出的东西感到由衷的自豪,一定是发自自己内心对这件事情热爱。 -
成果
有了前两项还不够,我们希望大家的学习不止停留在表面,还要能够学以致用,因此会考虑大家在技术侧的一些成果,这部分通常希望有一些项目产出,我们会综合考察复杂度和项目的规模,这些都是可以量化的。所以可以看到,实习经验是比较重要的,有的同学会苦于没有实习经验,这里也可以给大家出一个主意,GitHub侧的开源项目的PR也是挺重要,能提出PR解决大项目的一些细节性问题也是非常不错的结果。比如大家可以关注下闲鱼团队的开源项目如Flutter Boost,关注项目最近的演进流程,如正在Beta的3.0版本的架构变化,并给我们提出一些PR和改进。这其实就是非常好的证明,我们也非常期待社区的同学能帮我们找到问题并解决该问题。另外,针对算法的同学,顶级会议的论文是非常好的成果的证明。
3. 考核要求
了解了考核要求,我认为只是了解了第一步,考核的度量维度只是冰山一角,或者说考核的三个维度只是手段,我们从手段去看本质,更好的理解阿里巴巴用人的内核要求,才能更好的准备和自我提升。这部分我认为,大公司的核心内核差异不会特别大,或者有一些细微的差异,但本质应该是一致的。我认为这部分的说明,不仅对校招同学有效,对社招同学同样成立。
在简历中我们能看到的显性的内容是知识/技能/经验,但我们没办法直接量化以及直接通过简历看到的是比如通用素质,个性特质,职业动机等,这些内容的重要程度远超前者,因为在目前这个需要大家持续学习的年代,知识技能的迭代速度极快,在职场上需要学习的东西非常多,因此背后的基本素质才是能让你保持在职场上表现优异的根本性原因。
阿里巴巴的人才核心素质里有四条,聪明/乐观/皮实/自省, 从我的理解上来看,这个跟google要求的招聘创意精英的理念其实内核是相通,同时也契合当下比较流行的成长性思维的定义。这里我可以简单解释下这四个维度的意思。
-
聪明
指的是智商+情商,一方面希望有快速学习的能力,另一方面我们希望优秀的同事们能有共情的能力,跟有同理心的同事在一起,大家能更好的合作和互相成就,形成良好的氛围,1+1>2。 -
乐观
乐观本身不是搞笑,也不是傻开心,乐观更多的是指在逆境中的乐观主义态度。在顺境下大家很容易受到激励,而人生和职场总有波峰与波谷,只有乐观面对才能持续成长。 -
皮实
皮实通常被译为不怕经受打击,这里的皮实不止是指能经受打击,同时也指能经得起捧杀,能在任何时候都正确的看待自己,保持平稳的心态。 -
自省
能定期总结和沉思,知道自己在哪些地方有不足,哪些地方可以改进,从成功和失败的经历中都能得到成长。
了解核心内核可以帮助自己未来形成良好的工作习惯,在未来更好的通过技术在职场实现自己的理想。
4. 具体行动
讲了这么多,还是给大家一些具体的Action
-
准备简历
-
简历要围绕上文讲的基本原则来描述,让面试官快速的了解你的信息。
-
准备机试
线上约好时间,准备好相关的机试考核内容,算法部分建议还是需要复习下,可以考虑一定的刷题,但务必了解背后的本质。 -
准备面试(日常的工作总结)
针对项目可以用以下内容结构化的简历信息,项目的基本介绍,然后是定义出其中的关键问题,你在里面是如何解决的,最后效果如何。项目中用到的技术以及项目的上下游的架构也希望同学们能主动了解下并形成习惯,在未来的工作中会有较大帮助。 -
面试复盘
不论成功和失败都要及时复盘,尽量少复盘面试的技巧,以免落入误区。因为面试本质是挖掘人的特质,怎么样通过面试反思自己的不足,形成良好的工作和学习习惯才是最重要的。
最后
最后,回答一个最近面试的来自哈工大的一个小伙子的问题,我认为是一个非常好的问题,当年也困扰过我,感谢这位面试的同学的问题,我这里跟大家分享出来。
问题: 面试过程中,不同公司不同面试官对自己的评价可能不太一致,甚至是走两个极端,有的说非常棒,有的评价觉得不太行。从这个角度来看自己到底处于什么样的水平,自己有一些迷茫。
师兄视角: 由于不同面试官的经验和背景不一样,有可能会出现一些不同的结果,在面试中问倒一个人是非常容易的,因为具体到一个知识点和某一个细节,有可能对方没有做过没有了解的话,是很有可能不知道的。有经验的面试官会主动发掘你的优点,让你自己介绍内容并从你熟悉的领域做交流和探讨,这样确实就会产生一些评价的差异。
对于校招生来说,除了好的基础和热情以外,其他的部分大部分同学都是一张白纸,或者差距并没有大家想象的这么大。因为大部分有真实的项目经历且能在里面起主导作用的同学并没有那么多,所以结果往往是既没有你想象的那么优秀,也没有你想象的那么差。面试如果能通过,一定是你的特质强烈吸引了面试官,在你的身上能看到未来成为优秀工程师的大部分特质,因此面试官更多的是为你的未来买单。
你真正应该做的是,养成良好的习惯,持续学习和沉淀,让这些优秀的工程师特质巩固下来,不停的通过每次的反馈学习和补充自己的盲点,例如,这个问题这次我不知道,我回去一定要搞清楚,下次是不是我就能知道了。这个技术我是不是真的去跑过demo,应用在我的项目里,这背后我遇到了什么坑。这些才是最重要的。
在结尾处我希望推荐一些Android开发的学习路线及学习笔记给大家,这也是我这么些年工作中不断试错复盘得来的心得总结,面向有想法向Android中高级进阶的同学,有兴趣的同学,可以再花2分钟的时间往下看看。
- 架构师筑基必备技能
目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。
知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
架构师筑基必备技能
- 设计思想解读开源框架
随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。
所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计
设计思想解读开源框架
- 360°全方位性能调优
在不同层次的开发工程师手里,因为技术水平的参差不齐,即使很多手机在跑分软件性能非常高,打开应用依然存在卡顿现象。
另外,随着产品内容迭代,功能越来越复杂,UI页面也越来越丰富,也成为流畅运行的一种阻碍。综上所述,对APP进行性能优化已成为开发者该有的一种综合素质,也是开发者能够完成高质量应用程序作品的保证。
1、设计思想与代码质量优化
2、程序性能优化
- 启动速度与执行效率优化
- 布局检测与优化
- 内存优化
- 耗电优化
- 网络传输与数据储存优化
- APK大小优化
3、开发效率优化
- 分布式版本控制系统Git
- 自动化构建系统Gradle
4、项目实战
- 启动速度
- 流畅度
- 抖音在APK包大小资源优化的实践
- 优酷响应式布局技术全解析
- 网络优化
- 手机淘宝双十一性能优化项目揭秘
- 高德APP全链路源码依赖分析
- 彻底干掉OOM的实战经验分享
- 微信Android终端内存优化实践
360°全方位性能调优
- Android框架体系架构
Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。
Android开发者也往往因为网上Copy代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。
本篇知识要点:
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析
Android框架体系架构
- NDK模块开发(音视频系列)
NDK(Native Development Kit缩写)一种基于原生程序接口的软件开发工具包,可以让您在 Android 应用中利用 C 和 C++ 代码的工具。通过此工具开发的程序直接在本地运行,而不是虚拟机。
在Android中,NDK是一系列工具的集合,主要用于扩展Android SDK。NDK提供了一系列的工具可以帮助开发者快速的开发C或C++的动态库,并能自动将so和Java应用一起打包成apk。
本篇知识要点:
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习
NDK模块开发
- Flutter学习进阶
2020 年无疑是 Flutter 技术如火如荼发展的一年。
每一个移动开发者都在为 Flutter 带来的“快速开发、富有表现力和灵活的 UI、原生性能”的特色和理念而痴狂,从超级 App 到独立应用,从纯 Flutter 到混合栈,开发者们在不同的场景下乐此不疲的探索和应用着 Flutter 技术,也在面临着各种各样不同的挑战。
本篇知识要点:
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门
......
Flutter学习
- 微信小程序开发
微信小程序作为现在比较火的编程开发应用场景之一,深受市场的青睐,这让不少开发者眼馋不已。但是对于初学者来说,就完全摸不着头脑了,不知道微信小程序开发制作需要学习那些知识,有需要的朋友可以参考本篇。
本篇知识要点:
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战
微信小程序开发
-
Android相关源码解读
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
Android相关源码解读
Android相关源码解读部分内容
由以上完整学习笔记pdf如有需要,请体谅下师兄我归纳不易,点赞+评论 支持下我,然后点击这里免费自取!
也预祝看过文章的每一个同学在新的一年都能拿到更多优质的offer,同时闲鱼技术团队在新的一年也在持续招聘,欢迎大家向公众号踊跃投递简历。同时我也希望用德韦克教授的名言结束这篇文章:“真正的自信是,有勇气敞开心扉去欢迎新的变化和想法,不管他们来自何方。真正的自信来源于你的思维模式:你已经做好了成长的准备。”
网友评论