Android工程师从初级到资深所应具备的技术栈(不断补充中)

版权声明:本文为博主原创文章,转载请注明出处: https://blog.csdn.net/kcstrong/article/details/84101378

在Android开发上也做了有些年头了,对Android开关相关的技术有了一定的积累,不敢说有多深,总是一些经验与体会,一个开发人员,在完成工作的同时,应该不断完善自身,这样才能长期保持竞争力。在技术领域,有两个特点,一为更新极快,二为多年不变。都是对的,新技术更新很快,而一些原理,底层技术却是多年不变的。技术人员在积累技术时,要多关注底层原理,而不要把主要经力放在追逐新技术上。所谓万变不离其中,原理是相同的,明白了原理,上手新技术是相多快的。好,进入正文,以下是我自己经验总结的Android从事者所应积累的技术栈方向(因为我自身是做音视频相关,也写有部分音视频的内容):

1.Android源码方向:HAL、IPC、AMS、WMS、ViewRoot、Surface
    初级:系统API的使用,四大组件,View特性,Handler使用
    中级:自定义View,自定义事件处理,JNI,AIDL,Handler原理
    高级:冷启动,插件化组件化,平台架构
    资深:系统源码,OAT虚拟机
2.C/C++语法
3.计算机操作系统:Linux
4.代码的编译、链接、运行,虚拟机的编译期与运行期、Java字节码、dex文件格式、oat文件格式、.a、.o、elf文件、.mk文件
5.多媒体技术:录制、播放、编解码、音视频、图片、mp4、H264、amr
    初级:系统API特性及使用,图片格式特性
    中级:录制编辑等机型适配,FFMPEG,图片压缩原理,SurfaceView特性
    高级:开源播放器原理,mp4格式内容,音频编解码原理,H264原理
6.网络协议:TCP、UDP、HTTP、RTSP、HTTPS
    初级:HTTP使用,okhttp调用,retrofit使用,RxJava使用
    中级:HTTP各版本特性,TCP三次握手,Https原理及抓包原理,okHttp框架原理,Retrofit源码
    高级:okHttp各拦截链实现原理,TCP/IP协议原理,Socket特性,流媒体协议,HTTP2.0原理
7.设计模式:代理、命令、Builder、装饰
    初级:单例,工厂,Builder,装饰
    中级:观察者,命令,生产者消费者,面向接口编程
    高级:MVP,复杂架构,EventBus源码
8.算法:红黑树、存储结构--Hash、图论、SHA-256
    初级:排序、二手查找,时间复杂度算法,空间复杂度算法,递归
    中级:算法归类,减分法,分治法、散列,二叉树遍历,常用数据结构
    高级:图遍历,复杂数据结构
    资深:加密算法,压缩算法
9.文档:MD文档、UML图
10.构建与版本控制:ant、maven、gradle、svn、git
11.Java:泛型、注解、反射、GC、虚拟机、线程同步、阻塞队列
    初级:基本性性,static,final,OOP,异常捕获
    中级:泛型,反射,枚举,并发应用,阻塞队列,集合特性
    高级:并发原理,虚拟机特性,字节码,ClassLoader,集合实现原理
    资深:JVM调优,AOP,IOC,SPI
12.数据库:关系库、SQL、sqlite、GreenDao
    初级:建表原则,关系模型,1、n映射
    中级:SQL,索引,表联查,GreenDao,ORM
    高级:数据库锁,事务,多进程数据库

 

猜你喜欢

转载自blog.csdn.net/kcstrong/article/details/84101378
今日推荐