Kotlin 练习
Kotlin 的全部练习都来自可随时对照的主题。
66项练习 离线运行
kt 测验 新题 如何区分键不存在与键存在但值为 null? 掌握 List、Set、Map、只读与可变接口、集合操作链和 Sequence 惰性求值,并避开别名、键覆盖与无限序列陷阱。 kt 预测输出 新题 终结操作执行时会产生哪组输出? 掌握 List、Set、Map、只读与可变接口、集合操作链和 Sequence 惰性求值,并避开别名、键覆盖与无限序列陷阱。 kt 预测输出 新题 这段程序会输出什么? 掌握 List、Set、Map、只读与可变接口、集合操作链和 Sequence 惰性求值,并避开别名、键覆盖与无限序列陷阱。 kt 审查 AI 代码 新题 审查生成的启用商品索引 掌握 List、Set、Map、只读与可变接口、集合操作链和 Sequence 惰性求值,并避开别名、键覆盖与无限序列陷阱。 kt 测验 新题 哪个操作会触发求值并返回非 Sequence 结果? 掌握 List、Set、Map、只读与可变接口、集合操作链和 Sequence 惰性求值,并避开别名、键覆盖与无限序列陷阱。 kt 找出 bug 新题 找出 SKU 索引里的 bug 掌握 List、Set、Map、只读与可变接口、集合操作链和 Sequence 惰性求值,并避开别名、键覆盖与无限序列陷阱。 kt 测验 新题 两个 Packet 实例分别持有 byteArrayOf(1, 2)。对于 data class Packet(val bytes: ByteArray),packetA == … 用数据类定义值语义,理解编译器生成的相等性、解构与浅拷贝,并避开可变键、数组和敏感字段陷阱。 kt 测验 新题 copy() 创建数据类实例时,已经初始化过的类体属性会怎样? 用数据类定义值语义,理解编译器生成的相等性、解构与浅拷贝,并避开可变键、数组和敏感字段陷阱。 kt 测验 新题 默认情况下,哪些属性会参与数据类生成的全部成员? 用数据类定义值语义,理解编译器生成的相等性、解构与浅拷贝,并避开可变键、数组和敏感字段陷阱。 kt 预测输出 新题 这段程序会输出什么? 用数据类定义值语义,理解编译器生成的相等性、解构与浅拷贝,并避开可变键、数组和敏感字段陷阱。 kt 审查 AI 代码 新题 审查生成的购物车快照 用数据类定义值语义,理解编译器生成的相等性、解构与浅拷贝,并避开可变键、数组和敏感字段陷阱。 kt 找出 bug 新题 找出可变数据类键里的 bug 用数据类定义值语义,理解编译器生成的相等性、解构与浅拷贝,并避开可变键、数组和敏感字段陷阱。 kt 测验 新题 当 values 的类型为 Map<String, Any?> 时,val age: Int by values 能保证什么? Kotlin 委托属性把 getter 和 setter 交给可复用对象;掌握 lazy、observable、自定义委托以及共享状态和线程安全陷阱。 kt 预测输出 新题 这段程序会输出什么? Kotlin 委托属性把 getter 和 setter 交给可复用对象;掌握 lazy、observable、自定义委托以及共享状态和线程安全陷阱。 kt 预测输出 新题 拒绝赋值后,这段程序会输出什么? Kotlin 委托属性把 getter 和 setter 交给可复用对象;掌握 lazy、observable、自定义委托以及共享状态和线程安全陷阱。 kt 测验 新题 成员委托属性的 provideDelegate() 在什么时候调用? Kotlin 委托属性把 getter 和 setter 交给可复用对象;掌握 lazy、observable、自定义委托以及共享状态和线程安全陷阱。 kt 审查 AI 代码 新题 审查生成的账户字段委托 Kotlin 委托属性把 getter 和 setter 交给可复用对象;掌握 lazy、observable、自定义委托以及共享状态和线程安全陷阱。 kt 找出 bug 新题 找出单例委托里的 bug Kotlin 委托属性把 getter 和 setter 交给可复用对象;掌握 lazy、observable、自定义委托以及共享状态和线程安全陷阱。 kt 测验 新题 两个嵌套接收者类型带有同一个 DSL 标记。内层块怎样有意访问外层接收者? 用带接收者的 lambda、类型安全构建器与 DSL 标记设计边界清楚、可验证的 Kotlin 内部领域语言。 kt 预测输出 新题 这个基于接收者的构建器会输出什么? 用带接收者的 lambda、类型安全构建器与 DSL 标记设计边界清楚、可验证的 Kotlin 内部领域语言。 kt 审查 AI 代码 新题 审查生成的数据库 DSL 用带接收者的 lambda、类型安全构建器与 DSL 标记设计边界清楚、可验证的 Kotlin 内部领域语言。 kt 找出 bug 新题 找出菜单快照里的 bug 用带接收者的 lambda、类型安全构建器与 DSL 标记设计边界清楚、可验证的 Kotlin 内部领域语言。 kt 测验 新题 只有最后阶段能产生结果时,分阶段构建器保证了什么? 用带接收者的 lambda、类型安全构建器与 DSL 标记设计边界清楚、可验证的 Kotlin 内部领域语言。 kt 测验 新题 某个 SQL DSL 接收 String 并把它插入查询。Kotlin 类型检查证明了什么? 用带接收者的 lambda、类型安全构建器与 DSL 标记设计边界清楚、可验证的 Kotlin 内部领域语言。 kt 测验 新题 类型与导入的扩展都定义了兼容签名的 render()。value.render() 会选择哪个声明? 用接收者语法为现有类型补充函数与计算属性,并理解静态解析、成员优先、可空接收者和作用域边界。 kt 预测输出 新题 直接调用与安全调用的结果有什么不同? 用接收者语法为现有类型补充函数与计算属性,并理解静态解析、成员优先、可空接收者和作用域边界。 kt 预测输出 新题 这段程序会输出什么? 用接收者语法为现有类型补充函数与计算属性,并理解静态解析、成员优先、可空接收者和作用域边界。 kt 审查 AI 代码 新题 审查生成的账户标签扩展 用接收者语法为现有类型补充函数与计算属性,并理解静态解析、成员优先、可空接收者和作用域边界。 kt 找出 bug 新题 找出扩展属性里的 bug 用接收者语法为现有类型补充函数与计算属性,并理解静态解析、成员优先、可空接收者和作用域边界。 kt 测验 新题 已经列出枚举所有成员的 when 表达式,为什么应省略 else? 从只读引用、静态类型与空安全出发,掌握 Kotlin 的表达式、控制流和函数调用边界。 kt 测验 新题 count 的类型是 Int。哪个表达式能把它传给 fun store(value: Long)? 从只读引用、静态类型与空安全出发,掌握 Kotlin 的表达式、控制流和函数调用边界。 kt 预测输出 新题 这段程序会输出什么? 从只读引用、静态类型与空安全出发,掌握 Kotlin 的表达式、控制流和函数调用边界。 kt 审查 AI 代码 新题 审查生成的发票合计 从只读引用、静态类型与空安全出发,掌握 Kotlin 的表达式、控制流和函数调用边界。 kt 找出 bug 新题 找出名称长度函数里的 bug 从只读引用、静态类型与空安全出发,掌握 Kotlin 的表达式、控制流和函数调用边界。 kt 测验 新题 对于 @JvmInline value class UserId(val value: Long),哪个使用位置通常需要装箱表示? 使用 `@JvmInline value class` 建模单值领域类型,理解 JVM 表示、装箱边界、构造校验与 Java 互操作。 kt 测验 新题 要发布一个可从 Java 调用、而 Kotlin API 接受内联值类的函数,哪种做法可靠? 使用 `@JvmInline value class` 建模单值领域类型,理解 JVM 表示、装箱边界、构造校验与 Java 互操作。 kt 预测输出 新题 这段程序会输出什么? 使用 `@JvmInline value class` 建模单值领域类型,理解 JVM 表示、装箱边界、构造校验与 Java 互操作。 kt 审查 AI 代码 新题 审查生成的 API 令牌包装器 使用 `@JvmInline value class` 建模单值领域类型,理解 JVM 表示、装箱边界、构造校验与 Java 互操作。 kt 找出 bug 新题 找出值类映射键里的 bug 使用 `@JvmInline value class` 建模单值领域类型,理解 JVM 表示、装箱边界、构造校验与 Java 互操作。 kt 测验 新题 哪个类型表示“可缺省的函数,它接收 String 并返回 Int”? Lambda 表达式把行为表示为有静态类型的值;这里讲清函数类型、捕获、接收者、返回控制与 JVM 边界。 kt 预测输出 新题 这个程序会输出什么? Lambda 表达式把行为表示为有静态类型的值;这里讲清函数类型、捕获、接收者、返回控制与 JVM 边界。 kt 预测输出 新题 传入尾随 lambda 后会输出哪些行? Lambda 表达式把行为表示为有静态类型的值;这里讲清函数类型、捕获、接收者、返回控制与 JVM 边界。 kt 审查 AI 代码 新题 审查生成的事件注册表 Lambda 表达式把行为表示为有静态类型的值;这里讲清函数类型、捕获、接收者、返回控制与 JVM 边界。 kt 找出 bug 新题 找出回调索引捕获里的 bug Lambda 表达式把行为表示为有静态类型的值;这里讲清函数类型、捕获、接收者、返回控制与 JVM 边界。 kt 测验 新题 哪个类型同时允许列表本身和其中的每个元素为 null? 用可空类型、智能转换、安全调用与 Elvis 运算符表达缺失值,并在 Java 互操作和生成代码边界避免运行时空指针异常。 kt 测验 新题 未注解的 Java 方法返回平台 String 类型。实现不可信时,哪项第一步能如实表达 Kotlin 边界? 用可空类型、智能转换、安全调用与 Elvis 运算符表达缺失值,并在 Java 互操作和生成代码边界避免运行时空指针异常。 kt 预测输出 新题 这段程序会输出什么? 用可空类型、智能转换、安全调用与 Elvis 运算符表达缺失值,并在 Java 互操作和生成代码边界避免运行时空指针异常。 kt 审查 AI 代码 新题 审查生成的客户导入器 用可空类型、智能转换、安全调用与 Elvis 运算符表达缺失值,并在 Java 互操作和生成代码边界避免运行时空指针异常。 kt 找出 bug 新题 找出主机名读取里的 bug 用可空类型、智能转换、安全调用与 Elvis 运算符表达缺失值,并在 Java 互操作和生成代码边界避免运行时空指针异常。 kt 测验 新题 一组解析器需要构造时持有的共享缓存,以及固定的解析模板。哪个起点最符合该契约? 用类、接口、继承与组合建立清晰的对象边界,理解 Kotlin 的默认 final、运行时多态、构造顺序和可见性规则。 kt 测验 新题 BillingService 需要通过可替换目标发送审计记录。哪种关系能保持最小边界? 用类、接口、继承与组合建立清晰的对象边界,理解 Kotlin 的默认 final、运行时多态、构造顺序和可见性规则。 kt 测验 新题 哪个声明允许子类覆盖 calculate()? 用类、接口、继承与组合建立清晰的对象边界,理解 Kotlin 的默认 final、运行时多态、构造顺序和可见性规则。 kt 预测输出 新题 这段程序会输出什么? 用类、接口、继承与组合建立清晰的对象边界,理解 Kotlin 的默认 final、运行时多态、构造顺序和可见性规则。 kt 审查 AI 代码 新题 审查生成的通知服务 用类、接口、继承与组合建立清晰的对象边界,理解 Kotlin 的默认 final、运行时多态、构造顺序和可见性规则。 kt 找出 bug 新题 找出账户余额里的 bug 用类、接口、继承与组合建立清晰的对象边界,理解 Kotlin 的默认 final、运行时多态、构造顺序和可见性规则。 kt 测验 新题 对于 String? 类型的 value,关于 value.let 与 value?.let 的哪项说法正确? 用接收者与返回值两个维度选择 Kotlin 的 let、run、with、apply 和 also,并避开空值、嵌套接收者与链式返回陷阱。 kt 预测输出 新题 接收者存在但 let 块返回 null 时,lookup("known") 会输出什么? 用接收者与返回值两个维度选择 Kotlin 的 let、run、with、apply 和 also,并避开空值、嵌套接收者与链式返回陷阱。 kt 预测输出 新题 这个程序会输出什么? 用接收者与返回值两个维度选择 Kotlin 的 let、run、with、apply 和 also,并避开空值、嵌套接收者与链式返回陷阱。 kt 审查 AI 代码 新题 审查生成的注册表 用接收者与返回值两个维度选择 Kotlin 的 let、run、with、apply 和 also,并避开空值、嵌套接收者与链式返回陷阱。 kt 找出 bug 新题 找出嵌套 it 接收者里的 bug 用接收者与返回值两个维度选择 Kotlin 的 let、run、with、apply 和 also,并避开空值、嵌套接收者与链式返回陷阱。 kt 测验 新题 一个实现既是已知的 Failure 变体,又是已知的 Retryable 变体,最适合用哪种声明建模? 用受限继承层级表达有限状态,借助穷尽 when 在新增分支时获得编译器反馈,并分清密封类、密封接口与枚举的边界。 kt 测验 新题 在 Kotlin 2.4.10 中,密封类的直接子类可以声明在哪里? 用受限继承层级表达有限状态,借助穷尽 when 在新增分支时获得编译器反馈,并分清密封类、密封接口与枚举的边界。 kt 预测输出 新题 这段程序会输出什么? 用受限继承层级表达有限状态,借助穷尽 when 在新增分支时获得编译器反馈,并分清密封类、密封接口与枚举的边界。 kt 预测输出 新题 这段程序会输出什么? 用受限继承层级表达有限状态,借助穷尽 when 在新增分支时获得编译器反馈,并分清密封类、密封接口与枚举的边界。 kt 审查 AI 代码 新题 审查生成的支付状态层级 用受限继承层级表达有限状态,借助穷尽 when 在新增分支时获得编译器反馈,并分清密封类、密封接口与枚举的边界。 kt 找出 bug 新题 找出配送状态标签里的 bug 用受限继承层级表达有限状态,借助穷尽 when 在新增分支时获得编译器反馈,并分清密封类、密封接口与枚举的边界。
没有符合筛选条件的练习。