前面几节都在 Android / JVM 范围内,这一节把视野打开到Kotlin Multiplatform(KMP)。这是近年 Android 面试里的新兴高频题——不是因为它有多难,而是因为很多人只知道"跨平台"四个字,答不出边界在哪里、什么时候不该用。这一节的判据很清楚:KMP 的价值在"共享业务逻辑",不在"共享 UI"。先把结论放在前面:KMP 的核心能力是"同一份 Kotlin 代码编译到多个平台"。工程上真正划算的共享范围是domain 层与 data 层(模型、网络、存储、算法),UI 层仍由各端原生实现(Android 用 Compose/View,iOS 用 SwiftUI/UIKit)。原因是各端 UI 体系与交互规范差异太大,硬共享 UI 会让expect/actual失控,反而拖慢迭代。机制背后的执行路径KMP 的技术底座是expect/actual这对关键字:// commonMain:声明"这里需要一个平台实现" expect class PlatformClock { fun nowMillis(): Long fun locale(): String } // androidMain:Android 侧真实实现 actual class PlatformClock { actual fun nowMillis() = System