最全程序员毕业十年,我是如何从月薪2800涨到税后年薪30W+的?,2024年最新安卓经典面试题

文末

初级工程师拿到需求会直接开始做,然后做着做着发现有问题了,要么技术实现不了,要么逻辑有问题。

而高级工程师拿到需求会考虑很多,技术的可行性?对现有业务有没有帮助?对现有技术架构的影响?扩展性如何?等等…之后才会再进行设计编码阶段。

而现在随着跨平台开发,混合式开发,前端开发之类的热门,Android开发者需要学习和掌握的技术也在不断的增加。

通过和一些行业里的朋友交流讨论,以及参考现在大厂面试的要求。我们花了差不多一个月时间整理出了这份Android高级工程师需要掌握的所有知识体系。你可以看下掌握了多少。

混合式开发,微信小程序。都是得学会并且熟练的

这些是Android相关技术的内核,还有Java进阶

高级进阶必备的一些技术。像移动开发架构项目实战等

Android前沿技术;包括了组件化,热升级和热修复,以及各种架构跟框架的详细技术体系

以上即是我们整理的Android高级工程师需要掌握的技术体系了。可能很多朋友觉得很多技术自己都会了,只是一些新的技术不清楚而已。应该没什么太大的问题。

而这恰恰是问题所在!为什么别人高级工程师能年限突破30万,而你只有十几万呢?

就因为你只需补充你自己认为需要的,但并不知道企业需要的。这个就特别容易造成差距。因为你的技术体系并不系统,是零碎的,散乱的。那么你凭什么突破30万年薪呢?

我这些话比较直接,可能会戳到一些人的玻璃心,但是我知道肯定会对一些人起到点醒的效果的。而但凡只要有人因为我的这份高级系统大纲以及这些话找到了方向,并且付出行动去提升自我,为了成功变得更加努力。那么我做的这些就都有了意义。

喜欢的话请帮忙转发点赞一下能让更多有需要的人看到吧。谢谢!

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

需要这份系统化学习资料的朋友,可以戳这里获取

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

阿里官方的定义是从P1-P14,11年以前还会招P4,之后就再也没有了,校招生都是从P5+起。

我先给大家看看 P4-P14 的通用标准描述:

P4

1)有相关专业教育背景或从业经验;
2)在专业领域中,对公司职位的标准要求、政策、流程等从业所必需了解的知识处于学习成长阶段,尚需要主管或高级别人员对负责的任务和完成的产出进行清晰的定义和沟通,并随时提供支持以达到要求;能配合完成复杂任务;
3)在专业领域,具有学习能力和潜能。

P5

1)在专业领域中,对公司职位的标准要求、政策、流程等从业所必需了解的知识基本了解,对于本岗位的任务和产出很了解,能独立完成复杂任务,能够发现并解决问题;
2)在项目当中可以作为独立的项目组成员;
3)能在跨部门协作中沟通清楚。

P6

1)在专业领域中,对公司职位的标准要求、政策、流程等从业所必需了解的知识理解深刻,能够和经理一起探讨本岗位的产出和任务,并对经理具备一定的影响力;
2)对于复杂问题的解决有自己的见解,对于问题的识别、优先级分配有见解,善于寻求资源解决问题;也常常因为对于工作的熟练而有创新的办法,表现出解决复杂问题的能力;
3)可独立领导跨部门的项目;在专业方面能够培训和教导新进员工。

P7

1)在专业领域,对自己所从事的职业具备一定的前瞻性的了解,在某个方面独到,对公司关于此方面的技术或管理产生影响;
2)对于复杂问题的解决有自己的见解,对于问题的识别、优先级分配见解尤其有影响力,善于寻求资源解决问题;也常常因为对于工作的熟练而有创新的办法,表现出解决问题的能力;
3)可独立领导跨部门的项目;能够培训和教导新进员工;
4)是专业领域的资深人士;
5)行业外或公司内培养周期较长。

P8

1)在某一专业领域中,对于公司内外及业界的相关资源及水平比较了解;
2)开始参与部门相关策略的制定;对部门管理层的在某个领域的判断力产生影响;
3)对事物和复杂问题的分析更有影响力。

P9

1)是某一领域中的资深专家;
2)对某一专业领域的规划和未来走向产生影响;
3)对业务决策产生影响;
4)使命感驱动。

P10

1)在公司内部被认为是某一方面的专家或者在国内的业界范围具备知名度和影响力;
2)对公司某一方面的战略规划和未来走向产生影响;
3)在本领域的思想和研究在公司具备较大的影响力;
4)使命感驱动。

P11

1)业内知名,对国内/国际相关领域都较为了解;
2)对公司的发展做出重要贡献或业内有相当的成功记录;
3)所进行的研究或工作对公司有相当程度的影响;
4)使命感驱动;坚守信念;
5)成为公司使命感/价值观的守护者、布道者;
6)对组织和事业的忠诚。

P12及以上

1)业内顶尖人才, 对于国际上相关领域的思想/实践都有独到的见解并颇受尊重,比较有名望;
2)对公司的发展做出重要贡献或业内有相当的成功记录;
3)能领导公司相关方面的研究、开创业界一些实践;
4)所倡导或所开创一些做法对公司的未来有深远的影响;
5)使命感驱动;坚守信念;
6)成为公司使命感/价值观的守护者、布道者;
7)对组织和事业的忠诚。

从上面的这个例子大家其实可以看出,想晋升一定是有条件的。晋升难度越到后面越大,说白了都是百里挑一,甚至是千里万里挑一的,竞争会非常激烈。

这还是大公司,岗位级别及大概薪资还算是比较透明,但是实际上很多小公司没有这么清晰透明的岗位级别薪酬定义。很多都是看老板心情…越是小公司越没有规范的制度,老板或者上级通过自己个人喜好来定员工的工资和奖金。

所以,在大公司通过自己努力的情况下有机会涨幅非常高,但是在小公司想在同一家公司从月薪两千涨到两万,难度就好比让老板把自己一年赚的钱分一半给你那么难,你自己感受下…

所以,你如果想工资有跳跃式的增长一定是需要跳槽的。

不知道你们有没有发现这种现象,在同一家公司工作3年 ,如果你自己不主动提涨工资,不主动提离职,公司很少会主动给你涨工资,即便涨也很少…

其实在中国很多公司都有这种现象,其实就是因为 老板觉得你并不值那么多钱,但是你一提离职,公司一招人发现大家要的工资都很高,那还不如留下你,你对公司的业务还熟悉…所以这个时候公司才会愿意给你涨…你的价值到这个时候才得以体现。中国的有句古话形容这种现象就是:会哭的孩子有奶吃。当然也有公司企业文化,员工成长环境比较好的,但是这样的太少了。

我到目前为止待过5家公司,现在这家公司是2021年6月份入职的,我在上一家公司工作了5年。工资变化最大的是在第三家公司(工资翻倍),其他几家的涨幅不是特别高,但是肯定也是跳一次各方面都好一些,待遇各方面一直在往上走。

二 学习


那么有人就提出质疑了,你就是想表达涨工资就拼命跳槽呗,一年跳一家不是涨的更快,一家涨2000就能涨2万…

其实我不说,你们也知道不是这么简单,跳槽其实是有前提的,就是下一家公司得认可你才行。认可你在上一家公司学到的东西及取得的成就 ,而且他们认为你有潜力可以做的更好,有更大的成长空间和培养价值,同时你在上一家公司提升的技能和经验可以帮助自己公司创造更大的价值。

还是以我个人为例:

我在第一家公司是以java软件开发工程师入职的,在第一家公司负责 Android开发、移动端api接口开发,java web企业应用开发…

第二家公司是刚创业公司,技术部没有移动端,想开始发展移动端业务,他当时就是看中我又做过移动端开发 、同时又做过移动端API开发,把我招进去就省了一个后台开发人员的成本…

第三家公司是做互联网直播的公司,我当时是被他们CTO内部推荐到公司的,推荐我的其中一个原因是因为我当时在技术群帮他解决过几个技术问题。(CTO是C++开发人员)

第四家公司是做传统建筑行业公司,当时招我进去,就纯是因为我移动端技术当时已经有4年多经验了,他们就是想招一个比较有经验的移动端开发,同时沟通表达能力也比较强的。

第五家公司 也就是现在这家公司是刚上市的一家公司,刚刚开始涉足建筑行业的业务,他们需要既懂技术开发,又懂信息化项目管理,还懂建筑行业信息化项目业务的人。

所以大家从我的经历就可以看出,任何一家公司招聘员工 ,一定是会建立一个基本画像的,公司招人一定是先满足自己的用人需求标准为主。招人的目的就是解决问题,招上来的人要能给公司带来价值,这点一定要记住。

所以我们还是要想办法努力的提升自己,你提升的越快,你升值的潜力就越快,你的选择就越多,不断在工作中学习提高自己,而不是同样一成不变的事情一直重复做3年 、做5年。这样你的3年、5年经验就只是个时间而已。

对程序员来讲,提升自己最主要的还是提升自己的技术水平和接触的知识面,尽量做到接触面广一些,然后有一项技能非常专业就可以了。

所以看到这就知道,我不是单纯的鼓励大家通过跳槽来涨薪,而是在自己有一定经验和能力的情况下,结合目前自己公司实际情况(能力和薪资不匹配),自己做出更好的选择。

顺便提下挑选公司时需要注意几个方面:

1)公司规模(能去大的,不去小的,除非有创业想法)

2)公司业务、盈利模式及发展前景(很重要,一不留神过俩月就发不出工资了)

3)公司其他情况(有无拖欠薪资,加班情况等)

通过多了解公司的这些情况,可以有效的避免进入比较差的公司,不浪费自己的时间。

三 转型

对于做技术的我们来讲,如果想要有大的改变,继续走技术是一条路,走技术这条路天花板就是技术总监、架构师一类的。

还有一条路就是转型业务 或者项目管理,那么这时候可能对于公司而言要求的就不仅仅是技术水平这么简单了,这时候要求的是一个人的综合能力。

给大家贴一个项目经理招聘要求:(我从网上随便找的)

1、负责信息化项目需求分析、系统设计、系统开发、系统测试、系统部署等分阶段项目管理;

2、负责项目过程管理、项目成本管理、项目风险管理、项目质量管理、项目进度管理及与用户的沟通、协调;

3、负责信息化项目的实施和运维管理;

4、负责项目或产品的前期规划,用户交流,需求分析,原型开发等相关工作;

5、基于物联网、大数据、云计算技术,负责公司信息化产品的规划、设计;

6、负责信息化大项目实施团队建设。

任职要求:

1、计算机相关专业,4年以上JAVA软件从业经验,2年以上开发经理或团队管理经验;

2、精通java、jsp、HTML、JS、xml、AJAX编程语言,精通Struts、Hibernate、Spring、IBatis等常用框架技术;

3、精通中间件技术,对Websphere、WebLogic等有很深的了解;

4、熟练使用office,可撰写需求分析报告、测试报告、用户使用手册等文档;

5、具备项目管理能力:负责项目的过程管理,制定项目计划,确保交付质量;负责项目的成本管理,制定项目预算,控制项目成本;负责项目的风险管理,识别项目风险,实施应急预案;负责项目或产品的前期规划,用户交流,需求分析,原型开发等相关工作;

6、具备3-5个大型与ERP、EM、WMS、SCM等企业信息管理系统应用经验优先;

7、具有严谨务实的工作风格,对工作认真,有责任心,为人诚信正直;

8、具有较强的判断、快速反应能力,良好的沟通协调和再学习能力,锐意进取,富有团队意识,强调团队合作,善于团队建设。

所以如果职业规划中后期想转管理的,最好在平时的工作中侧重学习这方面相关的。技术方面就不是一定要达到炉火纯青的境界了,在平时工作的时候就有个学习积累的侧重点。

其他方面的提升就是  学历、证书一类的。这个大家可以自行百度去看就行了。基本对于程序员来讲就是软考、pmp、各种技术认证等证书一类的,这些都是加分项。(不要小看)

《设计思想解读开源框架》

第一章、 热修复设计

  • 第一节、 AOT/JIT & dexopt 与 dex2oat

  • 第二节、 热修复设计之 CLASS_ISPREVERIFIED 问题

  • 第三节、热修复设计之热修复原理

  • 第四节、Tinker 的集成与使用(自动补丁包生成)

    第二章、 插件化框架设计

  • 第一节、 Class 文件与 Dex 文件的结构解读

  • 第二节、 Android 资源加载机制详解

  • 第三节、 四大组件调用原理

  • 第四节、 so 文件加载机制

  • 第五节、 Android 系统服务实现原理

    第三章、 组件化框架设计

  • 第一节、阿里巴巴开源路由框——ARouter 原理分析

  • 第二节、APT 编译时期自动生成代码&动态类加载

  • 第三节、 Java SPI 机制

  • 第四节、 AOP&IOC

  • 第五节、 手写组件化架构

    第四章、图片加载框架

  • 第一节、图片加载框架选型

  • 第二节、Glide 原理分析

  • 第三节、手写图片加载框架实战

    第五章、网络访问框架设计

  • 第一节、网络通信必备基础

  • 第二节、OkHttp 源码解读

  • 第三节、Retrofit 源码解析

    第六章、 RXJava 响应式编程框架设计

  • 第一节、链式调用

  • 第二节、 扩展的观察者模式

  • 第三节、事件变换设计

  • 第四节、Scheduler 线程控制

    第七章、 IOC 架构设计

  • 第一节、 依赖注入与控制反转

  • 第二节、ButterKnife 原理上篇、中篇、下篇

  • 第三节、Dagger 架构设计核心解密

    第八章、 Android 架构组件 Jetpack

  • 第一节、 LiveData 原理

  • 第二节、 Navigation 如何解决 tabLayout 问题

  • 第三节、 ViewModel 如何感知 View 生命周期及内核原理

  • 第四节、 Room 架构方式方法

  • 第五节、 dataBinding 为什么能够支持 MVVM

  • 第六节、 WorkManager 内核揭秘

  • 第七节、 Lifecycles 生命周期


    本文包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

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

需要这份系统化学习资料的朋友,可以戳这里获取

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

img-I34bFyew-1715357691824)]
本文包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
[外链图片转存中…(img-e7RLMp9e-1715357691824)]

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

需要这份系统化学习资料的朋友,可以戳这里获取

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

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值