第112篇 Kotlin 2.x 演进:K2 编译器带来了什么
本节聚焦Kotlin 2.0编译器与工具链演进:核心是**K2前端重写(基于FIR)**,带来**编译提速、类型推断更准、插件生态更健壮**;同步推进KMP稳定化及上下文接收者、`guard`等语言实验特性。升级关键在**插件兼容性检查**与**隐式类型推断回归验证**。
第108篇 Channel 与 select:协程间通信
本节详解 Kotlin 协程核心通信原语 Channel:它是点对点消息通道,比 Flow 更底层、比回调更结构化。涵盖四种容量策略、`onBufferOverflow` 行为、`select` 多路等待机制,并厘清 Channel 与 Flow 的本质区别——事件驱动选 Channel,数据流处理选 Flow。
第110篇 Flow 与 RxJava 对比:响应式迁移指南
本文深度对比 Flow 与 RxJava 的设计哲学、背压机制、Subject/SharedFlow 语义差异及迁移陷阱,直击面试高频考点。指出二者“问题重叠、取向相反”:Flow 借协程挂起实现天然背压,Rx 依赖显式策略;强调 `PublishSubject ≠ SharedFlow(replay=0)` 等关键误区,附对照表与实战代码。
第105篇 Kotlin 编译期陷阱:Companion、默认参数与混淆
本文深入剖析 Kotlin 五大编译期陷阱:data class 混淆失配、空安全跨语言失效、泛型擦除导致类型检查失灵、伴生对象初始化时机异常、内联类与序列化/反射冲突。聚焦“为什么 release 崩而 debug 正常”,直击机制层本质,助你面试从容拆解“Kotlin 坑”的底层原理。
第106篇 data class 的 equals 与 copy:深浅拷贝的坑
Kotlin `data class` 自动生成 `equals`/`hashCode`/`toString`/`copy`/`componentN`,但**非深拷贝、数组引用比较、可变集合共享引用**——易致UI状态错乱、Diff失效、哈希查找丢失。核心原则:状态类只用不可变类型(`List`/`Set`),数组需覆写 `equals`,`copy` 后禁用就地修改。
第104篇 Kotlin 惯用法精选:一行替代十行 Java
本文精讲Kotlin五大高阶惯用法:空安全流、集合流水线、作用域函数选择、解构与数据类、契约式前置条件。聚焦面试真题——“如何写得更Kotlin”,强调每种惯用法的**适用场景**与**禁用时机**,避免为链而链。附机制解析、工程反例、调试避坑及团队落地规范。
第117篇 Kotlin 阶段面试通关地图:高频题怎么连成网
这是Kotlin面试的结构化复习地图,非知识点罗列,而是将60+篇内容按「六大知识块×三层深度」(会用/懂机制/能取舍)分层归因,直击面试区分度核心。助你快速定位保底分与拉分点,掌握高频题答题骨架、交叉跳转逻辑及三大避坑指南,真正把知识织成可检索、可推演、可落地的活网络。
第102篇 Kotlin 反射与 KClass:运行时元编程
Kotlin/Java反射面试常考深层差异:KClass提供结构化元信息(属性名、泛型、注解默认值),但需额外引入`kotlin-reflect`,增大Android方法数与包体积;Java反射零依赖但元信息原始。关键权衡:能用`::class.java`或编译期方案(如KSP、kotlinx.serialization)就不用Kotlin反射。