面试中居然让我使用AI排查代码bug?(微派安卓二面oc)

这次面试有个让我印象极深的环节 —— 面试官要求我借助 AI 排查一段安卓代码的 Bug,代码如下:
kotlin
class AnimView(context: Context, attrs: AttributeSet?) : View(context, attrs) {
    private var progress = 0

    override fun onDraw(canvas: Canvas) {
        super.onDraw(canvas)
        progress += 1
        if (progress > 255) {
            progress = 0
        }
        val color = Color.argb(progress, 255, 255, 255)
        canvas.drawColor(color)
        invalidate()
    }
}
过程回顾
   我先盯着这段代码看了两三分钟,大致理清了逻辑,但确实没看出明显 Bug,只能硬着头皮把代码丢给 AI,直接要求:“分析以上代码的问题”。AI 第一轮的分析指出:代码末尾调用invalidate()会强制触发下一次onDraw,形成无限循环的重绘链路,进而导致安卓应用出现一系列性能问题。
但面试官立刻指出了问题:受 AI "注意力机制"的影响,它可能只关注主流程层面的 Bug,而忽略一些隐式问题,让我调整提示词重新提问。
    我当时一下子懵了,但还是硬着头皮推进 —— 按照过往经验给 AI 设定身份,将提示词优化为:“你是一名资深安卓开发工程师,请按照安卓通用开发规范,模拟线上真实运行环境,全面分析以上代码可能存在的问题,包括所有细节,仔细排查”。第二轮 AI 给出的答案确实更详细了,但面试官仍表示分析方向有偏差。这样反复调整了三四轮后,面试官让我回去再深入了解相关内容
    这次经历让我大开眼界:此前虽耳闻 AI 注意力机制可能导致排查问题不全面、回答有偏差,但这次是真切遇到了。
事后我也请教了做安卓开发的同学,他们补充说,代码的核心问题虽仍是无限重绘导致的性能崩溃,但还涉及绘制速度不一致等衍生问题。也是想问一下大家,遇到对应的问题会去怎么解决呢?以及对应的安卓代码,它会有什么问题还没有分析出来呢?(如下图AI最终分析出的结果,面试官还是不满意)

补充:
算法题:二维数组从右上角到左下角找最优路径(Dijkstra)
脑经急转弯:一个五升的桶和一个六升的桶打出三升水
全部评论
佬看了下你的面经真是go java 安卓 前端都沾点啊,太强了我的天
3 回复 分享
发布于 03-15 19:55 广东

相关推荐

03-13 09:22
已编辑
东莞理工学院 Java
📍面试公司:微派🕐面试时间:03/09💻面试岗位:安卓开发一面❓面试问题:1. 自我介绍,为什么投安卓而不是后端?2. 最近一段实习做了什么业务?遇到最大的困难是什么?怎么解决的?3. 礼物抽奖、奖池模块的完整请求链路是什么?4. 令牌池是什么?0和1分别代表什么?5. 高并发下如何保证抽奖概率稳定?6. 为什么用 Redis List 做抽奖?解决了什么问题?7. Lua 脚本在抽奖中作用是什么?为什么保证原子性?8. 高并发下如何避免令牌重复消费?9. 请求超时、服务异常怎么降级、兜底?10. 风控怎么做?业务兜底、用户兜底、熔断策略是什么?11. 安卓做过什么功能?具体场景、用到哪些技术?12. Glide 图片加载原理,多级缓存、LRU、懒加载怎么实现?13. LRU 算法原理,用什么数据结构实现?为什么用 LinkedHashMap?14. HashMap 底层结构?链表转红黑树条件?为什么要用红黑树?15. HashMap 扩容机制?负载因子作用?16. Java 并发三大问题:原子性、可见性、有序性怎么解决?17. volatile 作用、原理、使用场景?18. synchronized 底层原理?MarkWord、WaitSet、EntryList 作用?19. sleep 和 wait 区别?20. 什么是死锁?怎么写代码模拟死锁?21. 线程池执行流程?核心线程、队列、最大线程、拒绝策略?22. 安卓多线程、协程用过吗?挂起函数怎么理解?23. AIDL 了解吗?多进程通信怎么做?24. C/C++ 掌握程度?25. 网络优化做过哪些?序列化、连接池、IO 模型?26. Ping 原理?ICMP 协议作用?数据包的结构?27. MCP 广场是什么?业务价值、怎么封装、怎么调用?28. RAG 个人知识库怎么做的?向量检索、BM25、多路召回?(叫我现场打开cursor看看怎么使用ai开发的)29. 算法题:买卖股票的最佳时机(只能买卖一次和买卖多次)。30. 对公司业务、面试轮次有什么想问的?🙌面试感想:这次面试感觉面试官非常非常细节,在我说完我的实习项目之后,他觉得我说的太快了听不懂,叫我一个个拆解,把对应的流程功能点遇到了什么问题分点详细的跟他说,并且没听明白就会再问一遍,一定要懂了才会到下一个点,对于部分的技术实现也是刨根问底,问完了对应的一个技术之后还会问相应的底层实现和使用的数据结构,整体感觉这次面试的难度也是比较困难的,但是面试官感觉人挺好的技术也非常在线,学习到了很多东西,一面过,明天更新二面
查看29道真题和解析
点赞 评论 收藏
分享
评论
6
8
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务