作者 l 程序亦非猿

来源 l 程序亦非猿(ID:chengxuyifeiyuan)

在之前的文章里我提到过,2017年我实现了一个小目标,毕业三年加入阿里

听上去好像挺厉害,挺光鲜,但是实际上并不那么容易,在这背后有很多我自己摸索和努力的故事。

在这里我想分享一些我的经验,送给那些跟我一样,没名校背景没大厂背景,但是想进阿里(或其他大厂),又有点迷茫不知该如何前进的人


其实在进阿里之前,我也挺迷茫,内心有一些谜团一直困扰着我,比如阿里招人标准是什么?,自己距离这个标准有多少差距?那时候一直不知道,就好像置身于沙漠之中,却不知道往哪里走。这时候,找到方向最为关键。(很多人跟我那时候一样迷茫,因为不少人问过我,到底怎么样才能加入阿里。)

当时我问了几个在阿里的朋友:

我问:要进阿里是什么标准啊?

朋友答:社招的话一般P6起招,三年工作经验。

我又会问:P6是什么

这时候往往得到的回答就不一样了。

这里普及一下,每个公司都有职别定级系统,阿里也是,技术岗以 P 定级,一般校招 P5,社招 P6起。

以前我入职淘宝的title是『资深无线开发工程师』是 P6级别, 那时候 P6还分 高级 与 资深,现在都统一成高级了。

那 P6 的标准到底是什么呢?

其实还挺难说清,这个不像是考试的分数定级那样清晰,到了60分就是及格。

在我的理解里,一句话概括就是:拥有独立负责某个或多个模块的开发工作的能力。(说得再白话一点,就是老板放心你一个人负责某个或多个模块的开发工作)

听着好像还是很抽象,别急,我尝试着把这个能力拆分了一下,包括但不限于:

  1. 专业能力

  2. 解决问题的能力

  3. 学习能力

如果这几项能力达标或突出,我觉得就可以负责多个模块的开发工作了,也意味着进阿里,技术问题不大。

那么我们能怎么去提升自己达到目标呢?限于篇幅,我着重讲怎么提升专业能力。

专业能力的提升

计算机专业要学习的内容非常多,专业能力包含很多,光Android还不够,还有比如数据结构、算法、Linux、网络编程、计算机原理等等等等等等,由于我做的是 Android,那么这里就偏向 Android 来讲解了。

深入理解原理,不要只会使用

由于开源的精神以及互联网的伟大,我们能够不费吹灰之力使用世界上顶尖的三方库,比如很火的 RxJava、EventBus、Retrofit、OkHttp 、Glide 等等等等。只要添加一行依赖,就能起飞,有一种自己掌握了全世界最牛逼的技术的错觉

我见过不少人,也看到不少 人的Github 的库里写着 MVP+RxJava+Glide+Dagger 等等类似的内容,他们可能一线开源库用得很六,但是一旦问及原理,可能就一脸茫然,说不太上来。

这其实就是停留在使用阶段的表现

你要知道,一个库再牛逼,这个牛逼是属于作者的,而不是你。

站在面试官的角度讲,这么多人都会用,又凭什么选你呢?对吧?!

这时候如果你懂一些原理,那你就能比别人更优秀一些了。

那么,怎么去深入理解原理呢?阅读源码

(退后,我要装 X 了!)

其实所谓的原理,全都写在源码里面,毫无保留

有的人一听看源码就会慌,不知所措,代码那么多,怎么看啊

其实阅读源码也是有很多诀窍的,这里分享几点心得:

  1. 首先要会用。你要知道这个库是干什么的,掌握它基本的使用方法;

  2. 有目的性。针对某个功能有目的的去挖掘,这样就不会在茫茫源码中迷失方向;

  3. 不需要看完所有细节。有的人阅读源码爱钻牛角尖,非要把每一个小细节都搞清楚,以至于看了一天可能都没看明白主干是什么。

是不是有点道理?比如 EventBus ,你发送个 Event 怎么就传递到了订阅的地方?带着这么个小问题有目的的去看,会轻松很多。

阅读源码确实不简单,但是不要着急,从简单的源码开始,慢慢提升,学会抽丝剥茧,层层递进,逐渐培养阅读源码的习惯与能力。

相信我,学会看源码,对专业能力的提升有巨大的帮助。

保持学习,多看官方的一手资料

在平时保证完成工作的情况下依然要保持学习,做不到每天学习,也要做到每周学习,扩大知识面,加深深度。

技术的发展非常快,要跟上得不断持续的学习,这很重要。

那么为什么要多看官方的一手资料?

说实在的,这个时代,已经不缺少学习资料了。但是呢,资料也是有好有坏的,众所周知,你用 google 搜跟 某度 搜到的资料会有很大的差别,所以第一步,把 google 作为默认搜索引擎

官方资料 跟别人的二手资料,差别也是很大的。

这里不是说所有别人写的资料都是差的都是不值得看的,而是说其实别人可能也是看了官方的资料,经过自己的理解加工输出一个资料,而这个加工过程可能删减了部分内容,也可能扭曲/误解了官方的意思,以至于你看到的时候可能变了味。

所要尽量去看一手资料,它能让你学到最基本、最全面、也是最有用的知识,更何况,现在 Android 官方的文档 视频 越做越好,甚至都做了中文翻译,还有什么借口不看?

学会积累,做到有输入有输出

前面我既让你看官方的资料,又让你去看源码,那么光看就够了吗?

显然不是,纸上得来终觉浅。

学习,要做到有输入有输出,这样才能更好地把知识掌握在脑子里

输入就是那些资料,源码等各种知识,那么输出是什么?对于开发者来说输出可以是笔记,可以是博客,也可以是代码。

作为过来人,劝你一句,如果时间允许的话,尝试维护个博客吧

当你开始尝试针对某个知识点写文章的时候,你可能会有如下经历:

  1. 我明明已经懂了,为什么解释不清楚?(其实还没真的懂)

  2. 这个知识点好像涉及到了其他东西,我去看看,然后发现不懂的还有很多;

  3. 写得多了,本来星星点点散布在大脑各个角落的地方的零碎的知识点,在某个时刻突然就被串了起来,形成一张了知识图谱。

这是我之前写博客的真实经历,自己觉得懂了,跟 把知识说清楚让别人懂,感觉是两个层次的事。在写作的过程中会强迫你自己把知识点组合起来,用通俗的语言表达你的想法,其实要求你对知识有更透彻的理解,这也能促使你变得更专业。

另外,写博客其实也是对外展示自己的机会,写得好,会有阿里员工或猎头找上门的,帮你推荐工作的。

好的博客或 Github 也是一块可以敲开阿里大门的砖。


要加入阿里,你可能还需要学会如何写好简历,找个靠谱的阿里员工帮你内推,另外可能还需要一些运气,但这都是后话了,最最重要的前提就是自身的技术实力要过硬

往期阅读

初级程序员最应避免的 7 大错误

如果只有1小时学Python,我会分享这几点

推荐几个小而美的优质号

[经验] 我想加入阿里,我该怎么做相关推荐

  1. 想考阿里云ACE需要做什么准备?考下来难不难?

    怎么样才能在现在的社会中过上好的生活,这是现在每个人在思考的问题,离开学校的象牙塔,来到社会上,每个人都会经历一个心态变化,从刚开始的心有抱负.想做出一番事业,到被现实打击的失望.痛苦,最后接受自己的 ...

  2. 「建议收藏」我想进阿里,我该怎么做?

    阿里巴巴,作为一家知名的互联网公司,是我们程序员心仪公司之一,想得到一份阿里的offer,得通过层层关卡 在这里我想分享一些我的经验,送给那些跟我一样,没大厂背景,但是想进阿里(或其他大厂,比如我面过 ...

  3. 过去 10 年,阿里在开源圈做了什么?

    公众号关注 "GitHubDaily" 设为 "星标",每天带你逛 GitHub! 这就是阿里那群嚷嚷要做开源的 "赶集人". 在圈内,开源 ...

  4. 沃尔玛、阿里国际该如何做测评自养号?

    沃尔玛成立于1962年,是全球最大的零售商之一,也是世界500强企业.在美国<财富>杂志中2014-2016年评选的全球最大500家公司的排行榜中的第1名.沃尔玛员工超过两百万,是世界上最 ...

  5. 阿里云服务器可以做什么?买来吃灰?

    阿里云服务器可以用来做哪些事?除了搭建网站使用阿里云服务器还能做什么?云服务器的1024种玩法使用云服务器可以做很多你想象不到的事情,让拥有一台云服务器更有乐趣,云服务器吧长期更新阿里云服务器可以做的 ...

  6. 第二次写博客,我想我这辈子大概就是做运维了

    第二次写博客,我想我这辈子大概就是做运维了 自19年写了一篇文章到现在有三年多了,这三年多经理了非常多的事情,回想当年真的是青涩哈哈哈哈 在19年末的时候出差去陕西宝鸡我记得时给一个酒店装影院系统,那 ...

  7. 不想当管理者、甚至连项目经理都也不想当,只想静心写写代码、不做管理

    其实,我很想当纯粹的高级程序员,别每周都叫我参加公司的部门会议,不要让我每周都写部门工作报告,也别让我管理无聊的人.倔强的人.老顽固等,我是一个很自私的人,我只想做好自己的分内的工作,我只想做我喜欢做 ...

  8. 阿里云服务器能做小程序吗

    阿里云服务器对做小程序,app端,电脑pc端支持,也非常好用,绝大多数都认为阿里云的用起来更方便. 阿里云服务器对建网站,运行游戏等都是支持的. 阿里云服务器从选配置----服务器控制台使用----- ...

  9. 换发型算法_今年烫发就选“大C卷烫发”,想换发型的女生可以做参考!

    哈喽,大家好呀! 今年烫发就选"大C卷烫发",想换发型的女生可以做参考! 没错,今天为大家推荐的就是非常好看,非常有气质的大C卷烫发,废话不多说,一起来看看吧! C字卷发--短发篇 ...

  10. 阿里云服务器可以做什么?十大使用场景举例说明

    使用阿里云服务器可以做什么?阿里云百科分享使用阿里云服务器常用的十大使用场景,说是十大场景实际上用途有很多,阿里云百科分享常见的云服务器使用场景,如本地搭建ChatGPT.个人网站或博客.运维测试.学 ...

最新文章

  1. LeetCode 252. Meeting Rooms
  2. 谷歌 AI 中国中心成立,人工智能势不可挡?
  3. NYOJ 311 完全背包
  4. 防止抓取html代码,网页中用html代码注释的内容会被抓取吗
  5. 前端学习(2355):uni里面的样式学习
  6. VC++访问HTTPS服务器(不受限制)
  7. Sqlplus 联机文档学习
  8. Java学习环境的搭建
  9. opencv特效编辑之雕刻效果
  10. 天空盒(SkyBox)的实现原理与细节
  11. 自建同步云盘服务器,自建云盘系列——Syncthing (BT Sync的开源替代)
  12. 打印日历Java代码实现
  13. 游戏建模教程:肌肉建模丨人体比例及肌肉骨骼介绍
  14. 【SDOI2013】项链 题解
  15. 【为人处事】:如何识人
  16. php计算跨月请假天数,计算请假天数JavaScript方法
  17. Chaya虚拟机学习 —— 启用Docker遇到的Bug
  18. [IOT] 自制蓝牙工牌办公室定位系统 (一)—— 阿里物联网平台概览及打通端到云(硬核·干货)
  19. 微信小程序中显示换行、空格
  20. 计算机内存管理之虚拟内存

热门文章

  1. 解决Win10能登陆QQ却无法打开网页问题
  2. Jenkins 基础02 配置插件源
  3. graphpad两组t检验_还不会T检验,利用GraphPad Prism实现T检验详解
  4. 金山wps c++开发一面总结
  5. 离开公司你什么都不是
  6. 图算法设计之用普里姆Prim算法构造最小生成树
  7. pytorch系列(八):猫狗大战3-单机多卡无脑训练
  8. 企业如何推动组织变革?
  9. php批量下载图片并打包
  10. GIS 地图坐标系相互转换的方法学习笔记