个人朋友,2019年实现了一个小目标,毕业三年加入阿里。如下是他的自述。面试
听上去好像挺厉害,挺光鲜,可是实际上并不那么容易,在这背后有不少我本身摸索和努力的故事。算法
在这里我想分享一些个人经验,送给那些跟我同样,没名校背景没大厂背景,可是想进阿里(或其余大厂),又有点迷茫不知该如何前进的人。编程
其实在进阿里以前,我也挺迷茫,心里有一些谜团一直困扰着我,好比阿里招人标准是什么?,本身距离这个标准有多少差距?那时候一直不知道,就好像置身于沙漠之中,殊不知道往哪里走。这时候,找到方向最为关键。(不少人跟我那时候同样迷茫,由于很多人问过我,到底怎么样才能加入阿里。)网络
当时我问了几个在阿里的朋友:数据结构
我问:要进阿里是什么标准啊?架构
朋友答:社招的话通常P6起招,三年工做经验。ide
我又会问:P6是什么?学习
这时候每每获得的回答就不同了。搜索引擎
这里普及一下,每一个公司都有职别定级系统,阿里也是,技术岗以 P 定级,通常校招 P5,社招 P6起。之前我入职淘宝的title是『资深无线开发工程师』是 P6级别, 那时候 P6还分 高级 与 资深,如今都统一成高级了。google
那 P6 的标准究竟是什么呢?
其实还挺难说清,这个不像是考试的分数定级那样清晰,到了60分就是及格。
在个人理解里,一句话归纳就是:拥有独立负责某个或多个模块的开发工做的能力。(说得再白话一点,就是老板放心你一我的负责某个或多个模块的开发工做)
听着好像仍是很抽象,别急,我尝试着把这个能力拆分了一下,包括但不限于:
若是这几项能力达标或突出,我以为就能够负责多个模块的开发工做了,也意味着进阿里,技术问题不大。
那么咱们能怎么去提高本身达到目标呢?限于篇幅,我着重讲怎么提高专业能力。
计算机专业要学习的内容很是多,专业能力包含不少,光Android还不够,还有好比数据结构、算法、Linux、网络编程、计算机原理等等等等等等,因为我作的是 Android,那么这里就偏向 Android 来说解了。
因为开源的精神以及互联网的伟大,咱们可以不费吹灰之力使用世界上顶尖的三方库,好比很火的 RxJava、EventBus、Retrofit、OkHttp 、Glide 等等等等。只要添加一行依赖,就能起飞,有一种本身掌握了全世界最牛逼的技术的错觉。
我见过很多人,也看到很多 人的Github 的库里写着 MVP+RxJava+Glide+Dagger 等等相似的内容,他们可能一线开源库用得很六,可是一旦问及原理,可能就一脸茫然,说不太上来。
这其实就是停留在使用阶段的表现。
你要知道,一个库再牛逼,这个牛逼是属于做者的,而不是你。
站在面试官的角度讲,这么多人都会用,又凭什么选你呢?对吧?!
这时候若是你懂一些原理,那你就能比别人更优秀一些了。
那么,怎么去深刻理解原理呢?阅读源码!
(退后,我要装 X 了!)
其实所谓的原理,全都写在源码里面,毫无保留。
有的人一听看源码就会慌,不知所措,代码那么多,怎么看啊?
其实阅读源码也是有不少诀窍的,这里分享几点心得:
是否是有点道理?好比 EventBus ,你发送个 Event 怎么就传递到了订阅的地方?带着这么个小问题有目的的去看,会轻松不少。
阅读源码确实不简单,可是不要着急,从简单的源码开始,慢慢提高,学会抽丝剥茧,层层递进,逐渐培养阅读源码的习惯与能力。
相信我,学会看源码,对专业能力的提高有巨大的帮助。
在平时保证完成工做的状况下依然要保持学习,作不到天天学习,也要作到每周学习,扩大知识面,加深深度。
技术的发展很是快,要跟上得不断持续的学习,这很重要。
说实在的,这个时代,已经不缺乏学习资料了。可是呢,资料也是有好有坏的,众所周知,你用 google 搜跟 某度 搜到的资料会有很大的差异,因此第一步,把 google 做为默认搜索引擎。
官方资料 跟别人的二手资料,差异也是很大的。
这里不是说全部别人写的资料都是差的都是不值得看的,而是说其实别人可能也是看了官方的资料,通过本身的理解加工输出一个资料,而这个加工过程可能删减了部份内容,也可能扭曲/误解了官方的意思,以致于你看到的时候可能变了味。
所要尽可能去看一手资料,它能让你学到最基本、最全面、也是最有用的知识,更况且,如今 Android 官方的文档 视频 越作越好,甚至都作了中文翻译,还有什么借口不看?
前面我既让你看官方的资料,又让你去看源码,那么光看就够了吗?
显然不是,纸上得来终觉浅。
学习,要作到有输入有输出,这样才能更好地把知识掌握在脑子里。
输入就是那些资料,源码等各类知识,那么输出是什么?对于开发者来讲输出能够是笔记,能够是博客,也能够是代码。
做为过来人,劝你一句,若是时间容许的话,尝试维护个博客吧!
当你开始尝试针对某个知识点写文章的时候,你可能会有以下经历:
这是我以前写博客的真实经历,本身以为懂了,跟 把知识说清楚让别人懂,感受是两个层次的事。在写做的过程当中会强迫你本身把知识点组合起来,用通俗的语言表达你的想法,其实要求你对知识有更透彻的理解,这也能促使你变得更专业。
另外,写博客其实也是对外展现本身的机会,写得好,会有阿里员工或猎头找上门的,帮你推荐工做的。
好的博客或 Github 也是一块能够敲开阿里大门的砖。
要加入阿里,你可能还须要学会如何写好简历,找个靠谱的阿里员工帮你内推,另外可能还须要一些运气,但这都是后话了,最最重要的前提就是自身的技术实力要过硬。
因此,别的不用多说,日夜兼程,持续精进吧!
在这里我也分享一份私货,本身收录整理的Android学习PDF+架构视频+面试文档+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料帮助你们学习提高进阶,也节省你们在网上搜索资料的时间来学习,也能够分享给身边好友一块儿学习
若是你有须要的话,能够点赞+评论,关注我, 加Vx:15388039515(备注思否,须要进阶资料)