想要成为一名优秀的Android开发,你需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。
- 25%的面试官会在头5分钟内决定面试的结果
- 60%的面试官会在头15分钟内决定面试的结果
一般来说,一场单面的时间在30分钟左右,而决定你生死的重要关键部分就是:自我介绍和三大问。
如果这部分回答的不好,除非后面的回答非常精彩,能够帮你搬回来,否则机会渺茫。
自我介绍大家都知道,什么是三大问呢?其实就是“3why”问题
- 为什么选择这家公司?
- 为什么应聘这个职位?
- 为什么要聘用你?
高级工程师之后可以有两种侧重方向或者说两种发展路线。
第一种是管理路线
首先要对移动端和前端有一个系统的认知,并非说要完全掌握移动端和前端 coding 的能力,更多可以侧重于扎实的技术基础,再加上对技术的理解和融会贯通,就算不能快速地写出 iOS 和前端的代码,也应该对实现流程有一个清晰的认识,并且能够快速定位问题。
同时要熟悉服务端开发流程,负责移动端项目管理,最终成为移动端研发经理,如果你不打算学习后端知识基本止步于此了。不满足于此的可以继续去学习后端开发,拓宽之后的职业发展可能性。
第二种是纯技术路线
往往是一个专业细分领域比如音视频、三维图形、逆向安全、性能优化等,根据不同的细分领域,市场上有需求的行业和公司数量也会不一样,但若是该公司的核心需求,一般也会是公司的核心技术岗位,成为该领域市场上少有的精通人才的话,不可替代性也会很高。如果想一直 coding 下去,那么打好基础、找准方向是没有错的。
明确了方向之后,具体怎么做呢?可以分成几个方面。
首先,**技术基础是必不可少的。**刚开始进入公司写业务功能的时候,可能会觉得数据结构、算法、操作系统、编译原理之类的基础对自己日常的工作内容没有什么影响,知道怎么用就好了。
实际随着工作内容的深入,以及对不同技术的涉猎,会发现技术看似一直在发展、创新、变化,而底层的逻辑和原理是不太会变化的,越是不断变化的东西,理解它底层的原理就越是重要,这时候再去看待和学习它的变化就会轻松许多。
其次,要深入学习自己的“一技之长”,对 Android 开发工程师来说就是 Android 的相关知识:UI、底层原理、NDK、架构、调试实战经验等等。
比如下面这些内容:
业务或者技术方案,站在不同的时期和视角上看,难免会有不同的意见,但是技术是不会模棱两可的,会就是会,不会就是不会。
如果考虑管理路线的话,有几年工作经验的 Android coder,此时应该更加主动参与项目、承担工作、积极沟通需求和实现,对业务培养起自己的理解。架构孵化于业务,并且服务于业务,技术和业务齐头并进才能更好地发展(对于公司和个人都是如此)。
同时,多观察你的 Leader,看他是怎么协调整个项目向前推进,怎么不让项目进度失控,怎么和产品讨论需求,什么时候该重构等,这些都是细节也都是宝贵的经验。
无论选择哪个方向,都要保持对新技术趋势的敏锐度。
纯技术路线对新技术的关注自是不必说,管理岗需要在做技术方案时考虑新技术,同时提升自己的移动端/前端全栈能力。
最后看一下**《Android框架体系架构(高级UI+FrameWork源码)》**学习需要的所有知识点的思维导图。在刚刚那份学习笔记里包含了下面知识点所有内容!文章里已经展示了部分!如果你正愁这块不知道如何学习或者想提升学习这块知识的学习效率,那么这份学习笔记绝对是你的秘密武器!
是你的秘密武器!
[外链图片转存中…(img-9TuT0SqR-1621243869437)]