程序员为什么都喜欢阿里P7,十年开发经验Android架构师,分享学习路线(附BAT大厂面试真题解析)(1)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注Android)
img

正文

阿里P7在内部的称呼叫做XX专家,比如技术专家,产品专家,运营专家,营销专家等。

根据网传的阿里P7能力模型图,一个合格的P7需要以下几个方面的能力和要求:

1、在专业领域,对自己所从事的职业具备一定前瞻性了解,在某个方面独到,对公司关于此方面的技术或管理产生影响;

2、对复杂问题的解决有自己的见解,对问题的识别、优先级分配见解尤其有影响力,善于寻求资源解决问题;

3、可独立领导跨部门的项目,能够培训或指导新进员工;

4、通常需正规本科毕业,需相关专业教育教育或相关从业经验;

5、行业外或公司内部培养周期较长;

6、是技术或相关管理岗位的资深人士。

根据这个能力模型,我们可以看到,阿里P7是某个专业领域的专家,他对这个领域非常熟悉,具备前瞻性,他的见解和建议能影响到公司在这个领域的认识;面对复杂问题,他能够利用自己的能力和认知,通过合理分配和安排,寻找资源去解决他,可以独立完成跨部门合作的项目(这个能力在大厂非常重要),同时能够培训指导新人。

这个能力已经相当强了,在一些小公司(B/C轮),这个能力模型甚至能担当总监的职位了,(所以阿里P7到了小一点的公司,都能直接上总监),所以要求也会比较高,一般是统招本科以上(最高985/211),在阿里内部或者行业外有较长周期的培养(一般是5-10年左右),是某技术领域或者产品运营管理岗位的资深人士(有比较丰富的资源和经验)。

我们根据模型,就能得出来阿里P7的大概画像,他的年龄在27-35岁之间(超过35岁还没机会升P8就比较危险了),一般大学(本科或者硕士)毕业5年以上,有5年的相关行业领域工作经验,最好还有大厂(BAT,TMD)相关经验或者相关细分领域(比如O2O,在线教育,电商,内容)工作经验。

二、阿里P7能挣多少钱?

根据笔者手中的近百个P7和拿到阿里P7 offer候选人的案例,P7的一般薪水在70-100万之间。超过100万的屈指可数,除非你是阿里5年以上的P7(一来是之前P7股票授予数比较高,二来是阿里股票5年翻了数番)或者是达摩院、淘宝、天猫、阿里云等核心业务,或者蚂蚁金服、钉钉等有单独期权的部门。

一般的构成是:

现金部分50-60万,每月工资在30-40K之间,因为阿里的现金部门是16薪,按照月薪中位数35K计算,35K*16个月=56万现金;

期权部分:现在,阿里新P7一般是700股RSU(限制性股票,满2年归属50%,后两年每年归属25%),杭州总部的某些重要部门或者比较优秀的候选人有可能给到1000股RSU。简单计算下:700股×7×224美元=110万左右,平均到每一年就是28万左右。

所以,一个阿里P7的平均年收入是现金56万+股票28万=84万左右,当然这个收入还是税前,税后我也不知道是多少。

三、为什么P7这么香?

根据前文《一个阿里P8,一年到底能挣多少钱》的估算,阿里P7的数量大约在4万人左右,是阿里大集团中数量最多的人群之一。而阿里P7升P8又是内部升级的第一个坎,很多P7因为所在业务增长不够快,跟领导关系不好,以及阿里内部各种大领导轮岗,部门调整整合的原因而无法升到P8,当他在P7的岗位上待满4年或者已经到了33岁这个危险期的时候,即便他不想离职,他也很难继续混下去。

既然不能在阿里待着,那就只能看其他机会了,在市面上,很多竞争对手都在虎视眈眈的盯着阿里P7这个群体,毕竟他们年轻(一般这个年龄段的人要么没结婚,要么结婚还没孩子,不用分心照顾家里,同时体力还成,能加班)、背景好(统招本科以上)、能力强,(能经过阿里HRG(既大政委)考核的人,肯定不会差),钱不是很多(80万这个价格已经非常划算了,涨个30%也就100万左右,而阿里P8很多超过200万,一般的大厂都给不起,更不用说创业公司),又对管理没有太多的要求(阿里P7技术专家一般不承担管理职责,产品运营可能带人,但一般也不多),正是各大企业需要的一线骨干人才。

同时阿里不同业务线的人也有很多地方可以去,平级跳,可以去众多一二线互联网公司,天猫淘宝新零售去京东美团拼多多,大文娱UC可以去腾讯头条百度快手,阿里云可以去腾讯百度华为,蚂蚁金服可以去京东数科,美团金融,滴滴金融或者传统金融公司,钉钉可以去腾讯会议,头条飞书,以及各种企业服务的创业公司,大中台业务可以去任何想做中台的公司;升级跳槽,可以去B轮之后的公司的做技术产品总监,如果想创业,还能去个A轮之前的公司做合伙人(不过现在坑太多,不建议去)。

除了外边喜欢阿里P7,阿里自己的的社招也很大比例留给了P7(P6以下的职位主要通过校招和实习转正来完成),毕竟,对阿里这样一个拥有10万人以上员工,又完全靠人才做到5000亿美元的互联网公司来说,能找到各个领域和行业的专家,并挖掘出他们最大的个人价值,才是最关键的。

如何才能更好地做到阿里p7

========================================================================

Android初级工程师技术要求:

  • 基本知识点 比如四大组件如何使用、如何创建Service、如何进行布局、简单的自定义View、动画等常见技术

Android中级工程师技术要求:

AIDL:熟悉AIDL,理解其工作原理,懂transact和onTransact的区别;

  • Binder:从Java层大概理解Binder的工作原理,懂Parcel对象的使用;* 多进程:熟练掌握多进程的运行机制,懂Messenger、Socket等;* 事件分发:弹性滑动、滑动冲突等;* 玩转View:View的绘制原理、各种自定义View;* 动画系列:熟悉View动画和属性动画的不同点,懂属性动画的工作原理;* 懂性能优化、熟悉mat等工具* 懂点常见的设计模式

学习方法:

阅读进阶书籍,阅读Android源码,阅读官方文档并尝试自己写相关的技术文章,需要有一定技术深度和自我思考。在这个阶段的学习过程中,有2个点是比较困扰大家的,一个是阅读源码,另一个是自定义View以及滑动冲突。

如何阅读源码呢?这是个头疼的问题,但是源码必须要读。阅读源码的时候不要深入代码细节不可自拔,要关注代码的流程并尽量挖掘出对应用层开发有用的结论。另外仔细阅读源码中对一个类或者方法的注释,在看不懂源码时,源码中的注释可以帮你更好地了解源码中的工作原理,这个过程虽然艰苦,但是别无他法。

如何玩转自定义View呢?我的建议是不要通过学习自定义view而学习自定义view。为什么这么说呢?因为自定义view的种类太多了,各式各样的绚丽的自定义效果,如何学的玩呢!我们要透过现象看本质,更多地去关注自定义view所需的知识点,这里做如下总结:

  • 搞懂view的滑动原理

  • 搞懂如何实现弹性滑动

  • 搞懂view的滑动冲突

  • 搞懂view的measure、layout和draw

  • 然后再学习几个已有的自定义view的例子

  • 最后就可以搞定自定义view了,所谓万变不离其宗

**Android高级工程师技术要求:**继续加深理解”稍微深入的知识点“中所定义的内容

  • 了解系统核心机制:
  1. 了解SystemServer的启动过程

  2. 了解主线程的消息循环模型

  3. 了解AMS和PMS的工作原理

  4. 能够回答问题”一个应用存在多少个Window?“

  5. 了解四大组件的大概工作流程

  • 基本知识点的细节
  1. Activity的启动模式以及异常情况下不同Activity的表现

  2. Service的onBind和onReBind的关联

  3. onServiceDisconnected(ComponentName className)和binderDied()的区别

  4. AsyncTask在不同版本上的表现细节

  5. 线程池的细节和参数配置

  • 熟悉设计模式,有架构意识学习方法

这个时候已经没有太具体的学习方法了,无非就是看书、看源码和做项目,平时多种总结,尽量将知识融会贯通从而形成一种体系化的感觉。

同时这个阶段对架构是有一定要求的,架构是抽象的,但是设计模式是具体的,所以一定要加强下设计模式的学习。

阿里p7学习路线总结(Android版):

================================================================================

小编2010年java转到Android开发,在小厂待过,也去过华为,OPPO等大厂待过,之后进了阿里一直到现在。被人面试过,也面试过很多人。更是有着十年的开发经验,整理了一份阿里P7级别的Android架构师全套学习资料,特别适合有3-5年以上经验的小伙伴深入学习提升。

阿里P7级全套高级学习知识点:(七大专题)

1.高级UI,自定义View:

2.NDK开发:

3.数据结构与算法:

4.Java内核原理:

5.Flutter:

6.性能优化

7.移动架构实战项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X8CpNpwR-1604499916758)(https://upload-images.jianshu.io/upload_images/24596414-d4ac9697527ce6a2?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

总结

【Android 详细知识点思维脑图(技能树)】

我个人是做Android开发,已经有十来年了,目前在某创业公司任职CTO兼系统架构师。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

最后,赠与大家一句话,共勉!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

个方向参考。

最后,赠与大家一句话,共勉!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注Android)
[外链图片转存中…(img-BrxPv51J-1713351223587)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值