**新技术层出不穷,去年kotlin到如今Flutter,技术迭代,你是否会变得固步自封?**那么看本篇文章帮你解决问题,让你知道怎么样学习,学习那些技术点才能不被时代的迭代快速淘汰!
首先,先说一下百度丶腾讯丶阿里技术岗位的一般面试流程
下面的这些关于Kotlin的一些技术进阶大纲,希望对小伙伴们有一定的帮助。
一、数据类型
- Boolean数据类型
- Number数据类型
- 拆箱装箱与Char数据类型
- 基础数据类型转换与字符串
- 类和对象
- 空类型和智能类型转换
- 包(package)
- 区间(Range)
- 数组(Array)
二、程序结构
- 常量与变量(val,var)
- 函数(function)
- Lambda表达式
- 类成员(成员方法、成员变量)
- 基本运算符
- 表达式(中缀表达式,分支表达式,when表达式等)
- 循环语句(for循环,while循环,continue,break)
- 异常捕获(try,catch,finally)
- 具名参数,变长参数,默认参数
三、面向对象
- 面向对象-抽象类与接口(abstract,interface)
- 子承父业-继承
- 类及其成员的可见性(private,protected,internal,public)
- object
- 伴生对象与静态成员
- 方法重载与默认参数
- 扩展成员
- 属性代理
- 数据类(allOpen,noArg插件,再见,javaBean)
- 内部类(this@Outter,this@Inner)
- 枚举(enum)
- 密封类(sealed Class)
四、高阶函数
- 高阶函数的基本概念
- 常见高阶函数(forEach,map,flatmap,fold,reduce,filter,takeWhile,let,apply,with,use)
- 尾递归优化 (tailrec)
- 闭包(函数式编程的福音)
- 函数复合(f(g(x)),infix)
- 柯里化(Currying)-函数调用链
- 偏函数
五、Lambdas编程
- lambdas简介
- lambdas和集合
- lambda表达式
- 访问作用域中的变量
- 成员引用
- 集合的函数式API之filter和map
- all、any、count和find
- groupBy
- flatMap和flatten
- 序列
- 使用Java函数式接口
- 把lambda作为参数传给Java方法
- 显式地把lambda转换为函数式接口
- 带接收者的lambda之with函数
- 带接收者的lambda之apply函数
六、领域特定语言 DSL
- DSL 的基本概念
- Gradle Kotlin 脚本编写
七、协程 Coroutine
- 协程的基本概念
- 协程的原理剖析
- Kotlinx.coroutine框架介绍
八、反射语法与库
- Kotlin中使用 Java 反射
- Kotlin中使用 Kotlin 反射
九、泛型,型变,星投影
- 泛型的基本语法
- 泛型的实现机制
- 型变
- 星投影
十、Kotlin与Android
- Anko配置及使用
- anko-commons
- anko-layout
- anko-coroutines库
- anko-sqlite库
-
Kotter Knife
-
RxKotlin及RxAndroid配置
-
Kotlin Retrofit
-
Kotlin Android Extensions
- 插件原理
- 插件使用
最后说一下我的学习路线
其实很简单就下面这张图,含概了Android所有需要学的知识点,一共8大板块:
- 架构师筑基必备技能
- Android框架体系架构(高级UI+FrameWork源码)
- 360°Androidapp全方位性能调优
- 设计思想解读开源框架
- NDK模块开发
- 移动架构师专题项目实战环节
- 移动架构师不可不学习微信小程序
- 混合开发的flutter
Android学习的资料
我呢,把上面八大板块的分支都系统的做了一份学习系统的资料和视频,大概就下面这些,我就不全部写出来了,不然太长了影响大家的阅读。需要的小伙伴,我免费分享给大家,或者直接点击下面链接领取,谢谢大家这么久以来的支持。
如果你有其他需要的话,也可以在文档上查看,下面的资料也会陆续上传到文档
330页PDF Android学习核心笔记(内含上面8大板块)
Android学习的系统对应视频
总结
我希望通过我自己的学习方法来帮助大家去提升技术:
-
1、多看书、看源码和做项目,平时多种总结
-
2、不能停留在一些基本api的使用上,应该往更深层次的方向去研究,比如activity、view的内部运行机制,比如Android内存优化,比如aidl,比如JNI等,并不仅仅停留在会用,而要通过阅读源码,理解其实现原理
-
3、同时对架构是有一定要求的,架构是抽象的,但是设计模式是具体的,所以一定要加强下设计模式的学习
-
4、android的方向也很多,高级UI,移动架构师,数据结构与算法和音视频FFMpeg解码,如果你对其中一项比较感兴趣,就大胆的进阶吧!
定要加强下设计模式的学习
-
4、android的方向也很多,高级UI,移动架构师,数据结构与算法和音视频FFMpeg解码,如果你对其中一项比较感兴趣,就大胆的进阶吧!
希望大家多多点赞,转发,评论加关注,你们的支持就是我继续下去的动力!加油!