10.23 小米安卓二面:项目归属追问、用 AI 排查 bug 与手撕反转链表
- 轮次
- 二面
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- 自我介绍。
- 这个文档解析的结果是存在哪里的?
- 这是实验室项目、商用项目还是个人项目?团队规模多大?是你主导的吗?
- 开发过程中团队有没有出现过分歧?
- 实习、实验室、个人项目里,给你带来技术难题最大的是哪一个?
- 你平时怎么用 AI?遇到一个 bug 会怎么用 AI 排查?自己还会动手写代码吗?
- 如果知识库里明明有答案,大模型却没有回答出来,你会怎么定位问题?怎么用 AI 定位?
- 实习项目里有没有挑战很大的 bug?具体怎么解决的,改了哪些代码?
- 手撕:反转链表(ACM 模式,自己处理输入输出)。
- 反问。
《参考解析》
项目归属与团队角色的连环追问:问存储位置、问是实验室还是商用、问几个人、问是不是你主导、问有没有分歧,这几问是一条链,目的是确认这段经历是不是你真的做过。「存在哪」这种问题没法糊弄——答本地文件、对象存储还是数据库,要能顺带说出为什么这么选、数据量多大、有没有清理策略。团队分歧那题别答「没有分歧」,那会显得你没参与决策;挑一个技术选型上的真实分歧,讲清双方理由、最后怎么定的、事后看代价是什么。
用 AI 排查 bug 的正确姿势:面试官在筛「把 AI 当搜索引擎」和「把 AI 当结对排查工具」两种人。可控的流程是:先自己把现象收敛成一个最小复现,再把报错原文、相关代码片段、已经试过什么、环境信息一起给模型,让它给假设而不是给结论;拿到假设后回代码或日志里验证,验证不成立就把反证喂回去继续收敛。全程自己动手改代码、跑验证,AI 只负责扩展可能性。
知识库有答案、模型却没答出来:这是 RAG 里最典型的归因题,要先把链路切成两段。第一段看召回:把用户问题单独拿去检索,看命中的 chunk 里到底有没有那段答案,没有就是检索问题——切分粒度太大把答案稀释了、embedding 对这类表述不敏感、Top-K 太小、元数据过滤把文档挡掉了。第二段看生成:召回里有答案但模型没答,就是上下文被截断、片段顺序把关键信息埋了、prompt 没要求「只依据资料回答」、或者模型直接拒答。分界线就是「召回片段里有没有正确答案」,这一句说出来,后面所有排查手段才有落点。
手撕反转链表卡在输入输出:ACM 模式要自己读一行、建链表、按格式输出,这一层比算法本身更容易翻车,常见语言的读写模板要提前练熟。迭代写法用 prev/cur/next 三个指针;递归写法注意返回新头结点、原头结点的 next 置空防止成环。边界跑空链表、单结点、两结点。
最后问对安卓有没有意向:说明这轮是跨方向捞人,答「有兴趣」要给依据(写过什么、看过什么),别只表态;项目占比这么高,说明团队的重心是「你是不是真的做过事」。