前言
在现在的人才市场上,其实有相当一部分的开发者都不是科班出生的。尤其是Android程序员,基本上都是自学的,能在大学里接受正规系统的Android开发学习是很难的,很少有学校会专门教这个。
(以上都是我的个人经验,不知道现在的大学教育是什么样子)
以笔者自身为例,14年会计本科毕业,编程都是大学的时候自学的,Android更是完全的零基础自学。但是毕业后,我幸运的拿到了百度云的Android开发岗offer,现在已经是一名Android高级研发工程师。
下面就来分享一下我这一路走来的心路历程吧。
开门篇:万丈高楼从地起
知识储备要求:
- 算法分析和数据结构:
查找,排序,DP,图论,数论,栈,堆,二叉树等 - 操作系统:
进程线程,中断机制等 - 计算机网络:
五层架构,各种协议等 - 编译原理:
理解语言的结构,词法分析,语法分析等,对你后面掌握语言有帮助 - 数据库:
简单了解一下各种范式,android开发对其要求不算高
学习方法推荐:
推荐书籍:
《算法导论》,然后再来一本数据结构的书基本够了。
《深入理解计算机系统》
《计算机网络:自顶向下方法》
配合刷题:
刷题很重要,他可以让你对算法还有其他的知识点理解更深。同时现在基本上正规规点的公司笔试也这样,也算是为以后的进军大厂做准备了。
入门篇:万变不离其宗,书中自有黄金屋
知识储备要求:
- Java 语言基础
虽说现在是kotlin first,但是市面上的APP基本上还是用的Java语言写的。不过,大家也可以选择先学kotlin。
学习方法推荐:
书籍+检索+上机实操
这个阶段还是推荐大家以看书为主。现在网上的视频资料也有