Android⼯程师从初级到资深所应具备的技术栈(不断补充
中)
在Android开发上也做了有些年头了,对Android开关相关的技术有了⼀定的积累,不敢说有多深,总是⼀些经验与体会,⼀个开发⼈员,在完成⼯作的同时,应该不断完善⾃⾝,这样才能长期保持竞争⼒。在技术领域,有两个特点,⼀为更新极快,⼆为多年不变。都是对的,新技术更新很快,⽽⼀些原理,底层技术却是多年不变的。技术⼈员在积累技术时,要多关注底层原理,⽽不要把主要经⼒放在追逐新技术上。所谓万变不离其中,原理是相同的,明⽩了原理,上⼿新技术是相多快的。好,进⼊正⽂,以下是我⾃⼰经验总结的Android从事者所应积累的技术栈⽅向(因为我⾃⾝是做⾳视频相关,也写有部分⾳视频的内容):
1.Android源码⽅向:HAL、IPC、AMS、WMS、ViewRoot、Surface
初级:系统API的使⽤,四⼤组件,View特性,Handler使⽤
中级:⾃定义View,⾃定义事件处理,JNI,AIDL,Handler原理
⾼级:冷启动,插件化组件化,平台架构
android retrofit
资深:系统源码,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
⾼级:数据库锁,事务,多进程数据库

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。