AI面试题(带答案)

150 阅读4分钟

image.png

面试级 AI Coding 题(共 8 题)


第一题:Prompt 设计能力(初级必考)

题目

你要让 AI 生成一个 Android 登录页面。

要求:

  • 使用 Kotlin
  • MVVM 架构
  • 使用 ViewBinding
  • 输入框校验手机号和密码
  • 登录按钮点击后模拟网络请求

请写出你的 Prompt,并说明如何避免 AI 输出低质量代码。


参考答案

Prompt 示例

请生成一个 Android 登录页面,要求如下:

1. 使用 Kotlin
2. 架构采用 MVVM
3. 使用 ViewBinding
4. 包含手机号输入框、密码输入框、登录按钮
5. 手机号格式校验
6. 密码长度至少6位
7. 点击登录按钮后,使用协程模拟2秒网络请求
8. 返回成功结果并更新UI
9. 代码需包含:
   - Activity
   - ViewModel
   - Repository
   - Layout XML
10. 输出完整可运行代码,不要省略实现

如何避免低质量输出

  • 明确技术栈
  • 明确输出文件范围
  • 指定“不允许伪代码”
  • 要求完整实现链路
  • 限制架构模式


第二题:AI Debug 能力(中级)

题目

你遇到如下错误:

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/example/xxx;

请说明:

  1. 可能原因
  2. 如何借助 AI 快速排查
  3. 如何验证 AI 给出的答案是否可靠

参考答案

可能原因

  • 混淆误删类
  • 依赖版本冲突
  • 多 dex 未正确配置
  • 动态加载失败
  • 某模块未被打包

AI 排查 Prompt

请分析以下 Android 崩溃日志:

[粘贴日志]

请从:
1. 混淆
2. 依赖冲突
3. 打包配置
4. 多 dex
四个角度排查,并给出验证步骤。

验证可靠性

  • 检查建议是否可复现
  • 对照 Gradle 配置
  • 用 stacktrace 定位真实类路径
  • 不盲信 AI,必须交叉验证


第三题:AI + 代码重构(高频)

题目

以下代码存在问题,请说明如何借助 AI 重构:

if (type == 1) {
   if (status == 0) {
      doA()
   } else {
      doB()
   }
} else if (type == 2) {
   doC()
}

要求:

  • 提升可维护性
  • 使用 Kotlin 风格优化

参考答案

AI 重构目标

  • 替换魔法值
  • 引入 sealed class
  • 降低嵌套层级

重构结果

sealed class ActionType {
    object TypeA : ActionType()
    object TypeB : ActionType()
}

fun handleAction(type: ActionType, status: Int) {
    when (type) {
        is ActionType.TypeA ->
            if (status == 0) doA() else doB()

        is ActionType.TypeB ->
            doC()
    }
}

面试亮点

重点不是 AI 写了啥,而是你知道为什么这样更好。



第四题:AI Agent 思维(高级)

题目

设计一个“自动修复 Android Crash”的 AI 系统。

输入:Crash 日志
输出:修复建议 + Patch

请描述整体架构。


参考答案


架构设计

日志输入层
   ↓
异常解析器
   ↓
向量检索(历史问题库)
   ↓
LLM 推理层
   ↓
Patch 生成器
   ↓
人工确认

核心能力

  • Crash 分类
  • 相似案例召回
  • 根因分析
  • 代码 diff 输出

风险控制

  • Patch 必须人工审核
  • 仅建议,不自动 merge
  • 引入测试验证


第五题:AI 工程化能力(重点)

题目

如何让 AI 生成的代码更符合团队规范?


参考答案


方法

1. 提供团队代码模板

例如:

  • 命名规范
  • 包结构
  • 注释风格

2. 建立 Prompt Library

不同任务对应不同模板:

  • UI 生成模板
  • Bug 修复模板
  • 测试代码模板

3. 引入静态检查

AI 输出后自动执行:

  • ktlint
  • detekt
  • 单元测试


第六题:AI 业务落地题(产品向)

题目

如果让你给浏览器 App 加一个 AI 功能,你会做什么?


参考答案


功能方案:网页智能摘要

用户价值
  • 长文快速阅读
  • 自动提取重点
  • 节省时间

技术实现

网页正文提取
   ↓
文本清洗
   ↓
LLM 摘要生成
   ↓
本地缓存

优化点

  • 分段摘要
  • 多语言支持
  • 离线 fallback


第七题:AI 编码伦理题(常见)

题目

如果 AI 生成了错误代码并导致线上事故,责任在谁?


参考答案

责任仍在工程师和流程。

AI 是工具,不是责任主体。


正确认知

  • AI 负责建议
  • 工程师负责判断
  • 团队负责流程设计

应对策略

  • 代码 review
  • 自动测试
  • 灰度发布


第八题:开放题(最拉差距)

题目

未来 3 年,AI Coding 会如何改变软件工程师的工作方式?


参考答案


趋势

1. 编码时间下降

更多时间用于设计与验证


2. 工程师角色升级

从“写代码的人”变成“定义规则的人”


3. AI 成为基础设施

像 IDE 一样普及


核心竞争力转移

从语法熟练度 → 系统思维 + 架构能力


面试官真正想听什么?

不是你会不会用 AI。

而是你是否知道:

AI 能做什么、不能做什么、如何接入工程体系。


最后给你一句面试级回答模板

AI 提升的是编码效率,但决定质量的仍然是工程能力。
真正的价值不是让 AI 写代码,而是构建一套让 AI 稳定产出高质量代码的流程。


如果你想,我下一套可以给你出:

  • Android + AI 实战面试题
  • 大厂级 AI 工程师题库
  • 让你薪资翻倍的 AI 架构题