首页 > 其他分享 >Android:克服这些困难,让你直达阿里P7!

Android:克服这些困难,让你直达阿里P7!

时间:2023-06-22 14:37:48浏览次数:45  
标签:直达 P7 阿里 学习 程序员 开发 架构师 Android


写在前面;

Android开发前几年火爆一时,市场饱和后Android程序员每一名程序员都想进阶,甚至成为架构师,但这期间,需要付出的辛苦和努力远超过我们的想象。

就我这几年对所接触的Android工程师调研:97% 的Android开发 技术人都会面临这些困境(可能也是你的困惑)

主要困境;

**外包公司/小型团队技术闭塞:**如果你长期在小型软件公司或外包公司工作,是很难有机会经历完整且大型项目的开发,整个技术视野会比较窄,导致薪资长期处于停滞不前;

**重复同样的编码工作:**长期重复同样的编码工作,项目对你的技术要求就是那些,不会让你按照自己的期望去发展,导致很长时间自己的能力都无法突破,企业更是难以接受新技术;

**自控力差,没时间学习:**白天工作,晚上加班,只能依靠碎片化的时间学习,如果自控力比较差,基本就三天打鱼两天晒网,无法系统性学习,无法沉淀成技术实力;

目前的简历,难进大厂:现有的技术能力、项目经验,无法通过大厂简历初筛,更别说拿到大厂的高薪 Offer。

这些问题,将会成为你职业发展的绊脚石,不想办法解决这些,焦虑可能会像一块巨石,压在你身上。很多求职者的能力体系企业用人需求有很大出入。

相信大多数从事Android开发的小伙伴一开始肯定不是抱着改变世界的宏伟目标,说白了就是赚钱的多,以后技术牛逼了,年薪百万,走上人生巅峰,迎娶白富美~

但工作过一年后你会发现,自己的工作重点就是**将找各种各样的组件、框架,拖拖拽拽,改改样式。在极端情况下出现了问题后(比如部分机型上崩溃,加载图片慢),也不知道该如何解决!

造成这种局面的原因:自己的意识不够,格局受限,在向上提升方面也没有完整的规划

一,职业发展规划;

从自身规划的角度讲,技术上的进阶分如下几个阶段:

1.做好业务需求的功能。这个是初级程序员就应该有的能力。

2.解决极端情况下的技术问题,比如性能优化,OOM等。稍有点规模的公司,肯定都会遇到这种问题,比如上文中说的App在部分机型上崩溃、页面加载不出来等。只是大部分程序员会觉得难以复现,或者是因为小概率事件而忽略了。**在忽略这些问题的过程中,也放弃了进一步提升的可能性。**还有一部分程序员是看到了这些问题,但一直不知道怎么解决,因为这些问题的产生基本都是要往底层框架去找原因,而平时只关注上层的业务逻辑代码,因而没有深入研究底层的原理,导致心有余而力不足。

3.在开发框架和效率上做文章。举个例子,很多程序员说自己的精力都在和产品的撕逼中浪费了,但有没有想过,能够通过技术手段将自己从繁杂的无技术含量的工作中解救出来?比如是否能够做到只编写一次代码,或者改个配置参数就能够做到在不同平台上运行。更高的要求是,能否将这些方案做成通用框架或产品。

其实没转行的Android程序员,大多都是希望能在这方面继续学习提升的。而上面列举的几个阶段,首先要从思考方式上去逼迫自己不断地逼迫自己,不要偷懒。其次,要想按照上述阶段发展,还需要落在实处,在具体的技术体系中不断的学习。

举个例子:

对于OOM,需要知道有哪些优化工具可以使用(Lint、MAT等),如何检测OOM,以及垃圾回收机制等深层次的原理。对于性能优化来说,如何减少apk体积、资源动态加载等都是必会的。以下是性能优化相关思维导图。

Android:克服这些困难,让你直达阿里P7!_编程语言

二,体系化深入学习

在体系化的学习过程中,博客、书籍、视频课程都是较好的学习手段。

鉴于Android也是基于java语言的,因此很多与java相关的基础也是必须掌握的,比如《深入理解Java虚拟机》、《Effective Java》等相关书籍也是必读的。

Android相关的书籍包括《Android权威编程指南》、《Android开发艺术探索》等,进一步的还可以去阅读Android相关源码,配合《Android源码设计模式解析与实战》等书籍,对阅读源码大有裨益。

Android:克服这些困难,让你直达阿里P7!_java_02

如果你觉得自己看书太慢而且难以全部理解,博客不够系统,可以找一套进阶视频学习。没有的话我可以免费分享一套给你

关于作者

作者目前在深圳,13年java转Android开发,在小厂待过,也去过华为,OPPO等,去年四月份进了阿里一直到现在。等大厂待过也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

我们今年整理了一份阿里P7级别的Android架构师全套学习资料,特别适合有3-5年以上经验的小伙伴深入学习提升。

主要包括腾讯,以及字节跳动,华为,小米,等一线互联网公司主流架构技术。如果你有需要,尽管拿走好了。

以下为我的整理,粉丝免费分享;

三.【阿里P7级系统高级学习】

全系列部分展示;7大专题

Android:克服这些困难,让你直达阿里P7!_Android_03

1.高级UI

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。

不过很显然现在远远不够了,所以很多人会觉得大环境不好了安卓开发要凉了。

这些人如果能自身反省;企业要你们这些CV工程师的意义在哪呢?

你要自己亲自去项目实战,读源码,研究原理的呀。

Android:克服这些困难,让你直达阿里P7!_人工智能_04

2.性能优化

如果我是老板,我招你来是写代码的,不是写bug的。如果你的代码太烂,各种bug。我把你开了后重新招个人进来接手维护,甚至推到重新做,后面那个接盘的是不是要骂街?

如果你会性能调优,能解决项目中各种性能问题。那么拿20K真的不过分。你得具备深厚的代码功底,深入学习源码原理以及使用工具进行测试和检查调优。

Android:克服这些困难,让你直达阿里P7!_Android_05

3.NDK开发

音视频,人工智能,这些是未来没办法阻挡的发展大趋势。我在猎聘网上看那些招聘岗位,要求精通NDK的薪资都在30-60K。追求高薪岗位的小伙伴,NDK开发一定要掌握并且去深挖

Android:克服这些困难,让你直达阿里P7!_面试_06

4.Flutter

火了一年多了,你工作不一定要用到。但是你出去面试(初级很少要求会),肯定会问到的。

关于Flutter是不是未来,我没法确定告诉你,我能确定的就是你要去面试高薪岗位,你得掌握这种主流的新技术(大厂最看重的除了基础,技术水平外,就是你的学习能力。)

Android:克服这些困难,让你直达阿里P7!_人工智能_07

5.移动架构实战项目

架构师不是天生的,是在项目中磨练起来的,所以,我们学了技术就需要结合项目进行实战训练,那么在Android里面最常用的架构无外乎 MVC,MVP,MVVM,但是这些思想如果和模块化,层次化,组件化混和在一起,那就不是一件那么简单的事了。

架构师尤其是移动开发,数量太少了。可能很多Android开发的小伙伴都没见过移动架构师。架构师薪资是什么样的水平呢?

阿里P6处于高级工程师,年薪四五十万左右

阿里P7处于资深高级,年薪百万左右

阿里P8属于架构师了,年薪可达170万以上

阿里的标准和薪资都是很高的,其它公司会有差距,但不会太大。

你有没有敢去想过,自己以后能达到架构师水平,突破百万年薪,实现财富自由呢?如果你觉得这对于你来说不可能,甚至很可笑,那么你就真的遥不可及了。


标签:直达,P7,阿里,学习,程序员,开发,架构师,Android
From: https://blog.51cto.com/u_16163480/6534852

相关文章

  • Android:大厂技术面试过不了怎么办?别急!这些知识体系让你的面试稳如泰山!
    前言年年寒冬,年年也挡不住一个安卓程序员追求大厂的决心。想要进入大厂,我们需要掌握哪些知识点呢?这里,我为大家梳理了一个整体的知识架构。整体包括Java、Android、算法、计算机基础等等,相应的知识点的面试题都整理出来了。希望大家阅读之后,能帮助大家完善与整理自己的知识体系。祝......
  • Android-Kotlin-单例模式
    先看一个案例,非单例模式的案例:描述Dog对象:packagecn.kotlin.kotlin_oop08classDog(varname:String,varcolor:String){/***显示狗狗的名字*/funshowDogName(){println("狗狗的名字是:${this.name}")}/***显示狗狗的颜......
  • Android-Kotlin-枚举ENUM
    为什么要用枚举?枚举的好处有:1.使程序更容易编写和维护2.防止用户乱输入,是一种约束来看两个案例案例一星期:星期的枚举:enumclass类名{}packagecn.kotlin.kotlin_oop09/***定义星期的枚举类*/enumclassMyEnumerateWeek{星期一,星期二,星期三,星......
  • Android-Kotlin-函数表达式&String与int转换$异常处理
    Kotlin的函数表达式:packagecn.kotlin.kotlin_base03/***函数第一种写法*/funaddMethod1(number1:Int,number2:Int):Int{returnnumber1+number2}/***函数第二个种写法*/funaddMethod2(number1:Int,number2:Int)=number1+number2/***......
  • Android-kotlin-接口与多态的表现
    上一篇博客介绍了Android-Kotlin-抽象类与多态的表现;而这一篇博客专门介绍下接口与多态的表现1.选择包名,然后右键:2.选择Class类型,会有class:3.选择File类型,不会自动有class:5.选择interface,是创建接口:6.目录结构:1.定义手机充电接口标准规范InterfacePhone:packagecn.kotlin.kot......
  • Android Xml文件生成,Xml数据格式写入
    生成xml文件格式数据,Android提供了Xml.newSerializer();,可以理解为Xml序列化;序列化:把内存里面的数据(file,databases,xml等等)丢给某一个地方; 反序列化:把某个地方的数据(file,databases,xml等等),拿到内存中;既然是Android操作Xml,就用Android所提供的API,不用Java所提供的API,DOM......
  • Android-Kotlin-When&类型推断
    Kotlin的when表达式TextEngine描述文字处理对象:packagecn.kotlin.kotlin_base02/***描述文字处理对象**valtextContent传入进来的文字内容val是常量*/classTextEngine(valtextContent:String){/***处理文字,然后返回*返回完整的字符串......
  • Android-kotlin的继承
    上一篇博客讲了Android-kotlin的配置/入门,然后简单的实现了一个计算器功能。今天我们来讲讲kotlin中的继承是怎样的。1.先看一个案例,子类使用到父类的资源【案例一】父类张翠山:packagecn.kotlin.kotlin_oop03/***描述父对象:张翠山**personDescribe此人的简介/var......
  • Android-kotlin-具名参数
    先看一个这样的案例,【案例一】:packagecn.kotlin.kotlin_base05funshowAction1(country:String,volk:String){println("我的祖国是${country},我的民族是$volk")}funshowAction2(country:String,volk:String){println("我的祖国是${country},我的民族是......
  • 万事俱备面饿了么Android!面完哭了呜呜呜,还是美团香!
    大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助。最近跟一个朋友聊天,他漫不经心地复习了几个月,就去参加了饿了么面试,第二面结束后,嗯,挂了…当天怒清购物车,卸载饿死了么。下面是他回忆整理的凉经:一面(全都会)1.点击图标,应用打......