Android架构师

4年Android开发经验14W,一年后拿到30W的亲身经历

2020-02-20  本文已影响0人  西柚9102

本篇来自Android高级工程师星球,不愿意透露姓名的老刘同学这一年的亲身经历。
老刘马上到30了,在技术星球里也一直不怎么说话,应该是属于背后默默努力的那种性格。最近好像快要当孩他爸了。

这里分享一下他写的经验心得,相信会对很多想提升自己的小伙伴有不少切身体会和启发;

最开始想很俗套的,感谢技术群里几个大佬平时的指导分享,以前一直停留在会用的阶段。从来没有深入去学习过技术的原理源码。这一年潜心学习研究,明显感觉到了技术和眼界都有了质的飞跃。

而且也挺感谢前辈提供的内推机会。因为之前也投过几家一线的公司,有的是简历石沉大海了,或者面试完让我回去等消息就杳无音信了。不过通过几次面试也让我对自我认识更深一些,技术体系够全面而且深入,而且也有实战项目经历。但是经验年限还不太够,加上没有背景,机会就很重要了。

市场对Android工程师有哪些最新的要求?

当我出去面试找工作时发现;现在面试往往更注重基础和深度的,而且还有很多新的技术都会问到,包括音频,人工智能,混合开发,甚至底层和全栈方面都得会点。

一年之前,在一家中型公司,三年开发经验,通过几次跳槽拿到11k的薪资,加上年终奖有14w左右。二线城市,已经很满足了。

后来因为一段无疾而终的狗血恋情,突然觉得自己太安逸了,一直想着怎么舒服的混日子,车,房,对象都还没有,哪里来的资格安于现状?

这一年很长,经常加班加点赶项目,下班了在地铁上就打开手机看直播课学习。大多时候是很晚回去后对着录播视频自己去敲一遍,不过有源码和课件提供而且一直有老师在线答疑,倒是没怎么落下。正常八个月学完的整个系统进阶课程,我用来差不多一年的时间。

当然最后的一个多月是2019年底了,裸辞专心准备面试方面的事情。

现在算是实现了一年前定下的第一个小目标吧。马上就奔三了,三十几后必须爬到管理层去,不然就不得不面对中年危机了。作为一个程序员,如果不跟着时代和技术一起更新进步,真的太容易被淘汰了,以至于我现在心情都是一半高兴喜悦对未来充满信心和憧憬,一半是小心翼翼。

以前挺觉得大环境真的对我们这些普通普通程序员太差了,毕业了进个小厂,技术和眼界受限,基本很难有比较大的提升。想要提升技能,往往是自己摸索成长,网上找技术博客,等零散的学习。不成体系的学习效果真的巨低!很容易坚持不下去。

所以我整理了这一年学习的所有的移动高级工程师进阶技术,希望可以帮到跟我一样想进阶但是没有方向的朋友提供一个参考;

Android进阶技术框架搭建

1.Java语言进阶在Android系统中的应用

泛型原理与Android网络请求中应用
无所不能反射原理及Android类加载核心机制
无所不能的反射原理与retrofit内核原理揭秘
线程池原理内核(ThreadPool,ansycTask)
Rxjava实现内核设计方法原理
Java I/O核心原理及在Android中的内核应用
多线程与android线程性能优化
Java 注解原理与Dagger2实现内核讲解
序列化与数据自动解析原理(一)Json解析

02.Android开发架构体系(app亦对象)

App对象中的实体Activity源码解析
Activity Manager Service 源码解析
Hook技术在AMS中的应用
实战无Manifest注册启动Activity方式
ViewGroup源码解析
各种Layout原理讲解与性能对比
View源码解析与自定义View一般套路讲解
RecycleView回收复用机制内核解析
CardView混合应用于源码改装
Touch事件机制架构搭建

** 03.Android开发架构体系(app亦对象)**

事件分发机制问题解决方案揭秘
自定义View项目实战(自定义组合View)
自定义View项目实战完全自定义View实战一
自定义View项目实战完全自定义View实战二
自定义View项目实战完全自定义View实战三
自定义View项目实战完全自定义View实战四
自定义View项目实战完全自定义View实战五
ViewPager 加载机制原理与加载性能优化
ViewPager 与fragment组合架构生命周期实战
Webview使用原理JavaScript Interface实战

04Android开发架构体系(app亦对象)

Webview与Navite的通信框架手写实战
Handler 事件分发机制内核揭秘与架构手写
Intent数据传递的原理与内核机制
多主题快速构建原理与项目实战
fragment内核事务管理与控件混合应用原理一
fragment内核事务管理与控件混合应用原理二
fragment生命周期管理源码内核
Service生命周期及内核原理
Activity与Fragment通信方案解析
Apk之间相互通信的原理总结

05.Android开发架构体系(app亦对象)

apk与服务器通信方案(Okhttp源码)解析
Http与Https协议讲解
Restful风格&WebSocket&Socket原理
数据存储方案及应用场景对比Sdcard/SP等

06.android app 360°全方位性能优化

不可思议的OOM(分析方法&内核限制原理)
ANR问题暴露的程序结构问题
网络请求API性能及效率优化
View渲染性能优化
Profiler工具对内存及CPU使用的性能分析
23种常用设计模式对代码结构的设计优化一
23种常用设计模式对代码结构的设计优化二
23种常用设计模式对代码结构的设计优化三
23种常用设计模式对代码结构的设计优化四
数据结构优化(之一)

07.android app 360°全方位性能优化

数据结构优化(之一)
数据结构优化(之二)
数据结构优化(之三)
数据结构优化(之四)
排序算法的选择原则及应用场景优化
查找算法的应用场景和选择优化
app开机启动速度、白屏闪屏原理及性能优化
app界面切换效果与速度优化
(Glide、Picasso、Fresco性能分析)

08.android app 360°全方位性能优化

手写图片加载缓存框架项目实战
耗电性能优化
apk打包流程研究与APK缩身优化
Volley/Okhttp/Retrofit内核源码讲解
适配方案讲解(屏幕、布局、权限适配)
代码质量和隐患排查方案讲解(Lint/Findbug)

09.Android NDK开发

C语言编程基础(指针)
C语言编程基础(文件操作)
JNI编程规范实战
C++编程规范与基础揭秘
C++STL(序列式、堆栈、双向链表、关联式)
Linux系统编程之Shell脚本核心编程
Cmake语法详解与AS编译NDK的过程
NDK层Native原生绘制原理
图像处理之png/jpg格式图片压缩
微信图片压缩技术方案揭秘

10.Android NDK开发

FFmpeg影视频编解码库介绍与编译
FFmpeg对数据帧的处理及常用命令
H264&X264协议原理
利用Ffmpeg实现音视频编解码
推流/拉流RTMP详解
走向P2P WebRtc环境搭建与源码解析
OpenGL 视频绘制基本技能
直播技术原理于架构搭建
直播技术数据流播放原理解析
直播卡顿延时优化

11.Android NDK开发

直播数据代理优化与运营商劫持优化
视频格式分析(Mp4,FLV,F4V,AVI格式解析)
抖音视频app项目实战(之一)
抖音视频app项目实战(之二)
抖音视频app项目实战(之三)
人工智能专题实现 人脸检测技术
人工智能专题实现 人脸识别
人工智能专题实现 身份证识别
人工智能专题实现 车牌号识别
人工智能专题实现 人体识别

12.提高开发效率的工具

git工具基本工作原理及常用操作
Gradle解决编译问题及groovy相关语言知识
gradle多渠道打包项目实战
APK自动上传服务器并发送钉钉提醒项目实战
抓包工具stetho实现网络数据实时跟踪
13.移动架构师框架构建体系
移动架构师框架构建体系
MVC架构项目实现天气预报实战
MVVM架构实现新闻客户端项目实战
MVP架构实战
模块化编程项目实战
层次化编程项目实战
组件化项目实战

14.微信小程序开发

购物商城后台搭建J2EE技术介绍
小程序技术总览及架构介绍
小程序工具使用与应用程序配置详解
UI开发之复杂页面布局及文字图片的内容呈现
UI开发之下拉刷新与上拉加载等图形动画操作
UI开发之页面跳转与用户界面事件处理机制
API操作之多媒体操作与网络通信处理方式
API操作之地理位置信息获取与设备信息取用
API操作之界面交互操作与系统功能
微信登录与用户信息获取实操

15.微信小程序开发

微信小程序更新与第三方平台接入实战
任务清单项目实战(上)
任务清单项目实战(下)
电影榜单项目实战(上)
电影榜单项目实战(下)
购物商场项目(上)
购物商场项目(中)
购物商场项目(下)

16.Hybrid混合开发

weex基础知识(跨平台知识、VueJS、npm生态)
搭建Weex开发环境并新建和运行Weex工程
vuejs脚本编写、css样式编写、tpl模板语言
打包BundleJS及模拟器中运行wee小项目
构建工具npm使用及webpack基础用法
前端Vue架构研究之前端组件化&&MVVM模式
Vue渲染实例与Vue组件间通讯实战
Vue架构项目实战实现TodoList
前端样式开发使用Sass,Postcss编写样式
Vue页面引用scss样式

17.Hybrid混合开发

样式美化TodoList,结构化样式
Weex实例变量内置组件
Weex内置模块与事件
内置能力实现TodoList本地存储于冒泡机制
搭建跨平台环境集成weexSDK并运行原生工程
从Handler等容器角度熟练WeexSDK架构
拓展Handler、Adapter
扩展自定义页面组件及拓展全局事件
Weex UI安装与配置使用Layout布局组件
WeexUI架构之Navigator导航组件

18.Hybrid混合开发

WeexUI架构之Data Entry表单组件
Weex项目实战实现购物app
前端官网配置项目封装实战

19.Android前沿技术

腾讯微信Tinker热升级的开源方案原理解析
阿里百川Sophix热修复内核原理解析
银行APP加密算法与原理详解
组件化集中式路由—阿里Arouter原理解析
造轮子——手写ARouter 组件化路由框架
造轮子之一:图像加载框架手写实现
造轮子之二: 网络访问架构手写实现
RxJava响应式编程设计架构解析
RxJava实现链式调度及线程切换的内核原理

20.Android前沿技术

IOC切片式编程在android开发中的应用
ButterKnife设计Dagger2架构核心揭秘
18年Google I/O大会最新技术方案及技术更新
18年Google I/O大会最新技术方案及技术更新

先找准方向,搭建技术框架,填充。然后深入钻研。以移动架构师位最终目标。
Android系统进阶思维脑图整理;

这些系统化进阶的Android教程,以及我收集的BAT等一线公司面试题集,整理在石墨文档了,需要可自取

《Android架构视频+BAT面试专题PDF+学习笔记》

就我个人而言,Java基础和原理,自定义view,设计面试,数据结构算法,MVVM,MVP等各种架构。都熟练学会掌握了。不过关于NDK开发,音视频,人工智能,跨平台开发等至少简单了解会用应付面试。

音视频,人工智能等真的前景大好,如果我熟练这些的话,感觉现在30k的薪资再翻一倍都有信心。不过真的接触就知道,水太深了。暂时还没打算往那方面跳。建议有想法的年轻人,大可放心前往。

上一篇下一篇

猜你喜欢

热点阅读