阿里 P8 大牛亲自教你!带你快速通过面试,Android 岗
前言
组件化是 保持整个 App 可持续地进行高质量开发的基础,近年来也是业界一直在积极探索和实践的方向,在深入理解组件化架构的过程中,将不断考验你的技术深度与广度;
实践中我还参考了十几家技术团队的解决方案(例如:美团、有赞、阿里等等),在这个系列里,我将总结我对于组件化的思考和实践。
下面的这些关于 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
插件原理
插件使用
最后
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
最后文末放上一个福利:GitHub地址
PS:我 GitHub 中有大量高阶 Android 学习视频资料和面试资料包~
欢迎大家一起交流讨论啊~
评论