序言
推荐语
关于本书
- 本书适合谁
- 本书涵盖内容
- 如何使用本书
- 保持更新
- 问题反馈
赞助商
- CodeRabbit
第0章 Kotlin 语言
- 问题 0. 请解释 Kotlin 中的空安全机制
- 问题 1. Any、Unit 和 Nothing 类型的主要作用是什么?
- 问题 2. 什么是数据类,它与普通类有什么区别?
- 问题 3. 什么是密封类,请解释其使用场景
- 问题 4. 什么是内部类,它与嵌套类有什么区别?
- 问题 5. 何时使用枚举类?
- 问题 6. 什么是值类?
- 问题 7. 什么是对象,它与普通类有什么区别?
- 问题 8. 什么是伴生对象?
- 问题 9. var 和 val 有什么区别?
- 问题 10. 幕后字段和幕后属性有什么区别?
- 问题 11. 什么是委托属性?
- 问题 12. lazy 委托和 lateinit 有什么区别?
- 问题 13. 有哪些可见性修饰符?
- 问题 14. init 代码块何时被调用,它有什么主要特征?
- 问题 15. 什么是高阶函数,你可以从中获得什么优势?
- 问题 16. inline 关键字有哪些优点和限制?
- 问题 17. reified 关键字是什么,使用它有什么好处?
- 问题 18. 如何使用 Lambda 表达式?
- 问题 19. 什么是函数式(SAM)接口?
- 问题 20. 什么是扩展,它有哪些优缺点?
- 问题 21. 什么是结构相等性和引用相等性,它们有什么区别?
- 问题 22. 执行 null + null 操作会发生什么?
- 问题 23. 什么是 DSL,如何使用它?
第一章 Kotlin 标准库
- 问题 24:Kotlin 中有哪些集合类型?
- 问题 25:集 合有哪些类型的转换操作符?
- 问题 26:解释迭代器的机制
- 问题 27:什么是 Sequence 及其机制?
- 问题 28:有哪些扩展函数可用于检索集合的部分内容?
- 问题 29:如何定义对象的排序?
- 问题 30:什么是作用域函数?
第二章 协程(Coroutines)
- 问题 31:什么是协程?
- 问题 32:什么是续体(Continuation),它与挂起函数内部有什么关系?
- 问题 33:协程和线程有什么区别?
- 问题 34:什么是协程构建器?
- 问题 35:什么是 Job?如何使用 SupervisorJob?
- 问题 36:什么是结构化并发(Structured Concurrency)?
- 问题 37:什么是 CoroutineScope,它与 CoroutineContext 有什么关系?
- 问题 38:什么是 Dispatchers?
- 问题 39:什么是 Channels?
- 问题 40:join() 和 await() 有什么区别?
- 问题 41:yield() 函数的作用是什么?
- 问题 41:如何在 Kotlin Coroutines 中处理异常?
- 问题 42:冷流(Cold Flow)和热流(Hot Flow)有什么区别?
- 问题 43:解释 StateFlow 和 SharedFlow 的区别
- 问题 44:Flow.flowOn() 操作符有什么作用?
- 问题 45:Flow.buffer() 操作符如何工作?
- 问题 46:Kotlin 的内部机制如何用 FusibleFlow 和 ChannelFlow 优化 Flow
- 问题 47:launchIn(Scope) 和 Scope.launch() 有什么区别?
- 问题 48:什么是 Flow 转换操作符:flatMapLatest、flatMapMerge、flatMapConcat?
- 问题 49:什么是 callbackFlow 和 channelFlow,以及它们的内部机制?
第三章 KotlinX 库
- 问题 50. 什么是 kotlinx-serialization,它是如何工作的?
- 问题 51. 什么是 kotlinx-datetime,为什么要用它而不是 Java 时间 API?
- 问题 52. 什么是 kotlinx-collections-immutable,何时应该使用它?
- 问题 53. 还有哪些值得注意的 KotlinX 库?
第四章 Kotlin 编译器和插件
- 问题 54. 什么是注解处理器、KAPT 和 KSP?
- 问题 55. Kotlin 编译器的结构是什么?
- 问题 56. 什么是 K2 编译器?
- 问题 57. 什么是 FIR(前端中间表示)?
- 问题 58. 什么是 IR,Kotlin 后端如何工作?
- 问题 59. 如何编写 Kotlin 编译器插件?
- 问题 60. 有哪些真实的 Kotlin 编译器插件示例和用例?
第五章:Kotlin 多平台
- 问题 61. 什么是 Kotlin 多平台?
- 问题 62. Kotlin 多平台如何处理平台特定的 API 并共享公共代码?
- 问题 63. Kotlin 多平台中有哪些并发或异步编程策略?
- 问题 64. Kotlin 多平台中有哪些 HTTP 网络通信策略?
- 问题 65. 什么是 Compose Multiplatform?
- 问题 66. Kotlin 多平台项目中源集是如何组织的?
- 问题 67. Kotlin/Native 如何处理内存管理和平台互操作性?
- 问题 68. Kotlin 多平台中有哪些测试策略?
- 问题 69. Kotlin 多平台中有哪些依赖注入策略?