Google面试允许用AI了,作为移动端老兵随便聊聊点击“码农职场”,选择“关注”和“星标”让一部分开发者看到未来来源丨码农职场 作者|silence上周在外网看到 Google 在部分岗位的 coding 面试里开放了 AI 助手,评论区挺热闹的。我刷了一圈,没什么特别想说的,倒不是觉得这事不重要,主要是……怎么说呢,就觉得挺正常的。我做移动端和大前端,干了也有些年头了。这两年 AI 工具在我这基本就是个日常,跟用 Charles 抓包、用 Flipper 调试一样,属于工具箱里的东西。也没觉得有什么值得大书特书的,就是顺手用着。但要说完全没感受也不至于。讲几个最近的事吧。01升级高德地图 SDK 的经历前阵子升级高德地图 SDK,从 7.x 升到 11.x。做过的人应该知道,高德大版本之间 API 改动挺大的,定位和导航的接口签名都换了,连回调方式都从 Listener 改成了更现代的写法。关键是我们项目里地图相关的代码散落在十几个模块里,有的是主包的,有的是子包通过路由跳过去的。你光靠全局搜索都不一定能找全调用点,因为有些是通过反射或者接口抽象层调用的。以前做这种事,基本就是先花半天把官方迁移文档从头到尾看一遍,然后对着 changelog 一条一条比对,再去项目里 grep。中间肯定会漏,漏了就等着编译报错或者运行时崩溃来提醒你。我记得上一次升级高德的时候,有个AMapLocationListener 的回调参数变了,编译能过,但运行时直接 NPE,排查了大半天才发现是混淆规则没更新,keep 的类路径还是旧的。这次我试着把迁移文档、我们项目的依赖结构、还有几个核心调用文件一起喂给 AI,让它帮我列一下可能受影响的调用点和需要改的地方。它给的列表大概覆盖了 80%,剩下的确实还是得自己翻代码补。但那 80% 省下来的时间是实打实的,至少我不用再一行一行对着 changelog 人肉比对了。02定位Flutter混合栈偶现白屏问题还有一次是 Flutter 混合栈的事。我们项目是原生壳+Flutter 模块的架构,用的 FlutterBoost 做页面栈管理。有段时间 Flutter Engine 升级之后,在某些机型上偶现页面回退时白屏,日志里也没有明显的 crash 堆栈,就是渲染层面的东西。最烦的是这种问题你自己手上的机器基本复现不了。我们当时试了四五台测试机,只有一台 vivo 的老机器能偶尔触发,还不是每次都能出现。你说怎么调?以前碰到这种,就是去 Flutter 的 GitHub Issues 里一个一个翻帖子,搜关键词碰运气。有时候翻了几十个 issue 发现都不是一回事,有时候找到一个看着像的,点进去发现人家用的版本跟你差了两个大版本,参考价值也有限。实在找不到就只能自己去啃 Engine 那边的渲染逻辑,看看是不是哪个生命周期的时序有问题。以前遇到这种,基本就是去 Flutter 的 GitHub Issues 里搜关键词,然后一个一个帖子翻,看有没有人遇到类似的。而且还有很大一部分运气成分在里面,运气好的话能找到个解决方案,运气不好就得自己啃源码去。这次我把现象描述、Flutter 版本、Boost 版本、机型信息一起丢给 AI 问了一下,它直接指向了一个已知的 issue,跟 SurfaceView 在某些厂商 ROM 上的生命周期回调顺序有关。虽然最后的 fix 还是得自己写,但定位方向这一步确实快了很多。省下来的时间够我摸一会鱼了。03对Google允许面试用AI的看法回到面试允许用 AI 这个话题上,我其实觉得,这事没大家想得那么夸张。因为真实开发里,“写出来”很多时候反而是最不难的部分。你给我点时间,给我文档,实在不行再给个 AI,大部分功能最后总能做出来。麻烦的反而是一些其他方面的,比如:一个需求为什么线上总出边角问题;比如一个页面明明能跑,但你总觉得后面迟早要出事;再比如有些代码别人看着没问题,你扫一眼就知道后面维护的人估计得骂娘。这种感觉其实挺难讲的。有点像做久了之后形成的“条件反射”。不是你记住了什么,而是类似的坑以前踩太多次了。 很多人老觉得用了 AI 之后,面试就“放水”了。但说实话,现在很多面试本来就有点太脱离实际工作了。你让我现场手撕算法,我可能真得停下来想一会儿。但你让我看一个线上 ANR、查一个启动耗时、分析一个偶现白屏,我反而会更熟一点。因为这些东西才是天天真正在干的活。而且干久了你会发现,开发这行很多时候拼的也不是记忆力。没人会因为你记不住某个 API 名字就觉得你不行,但会因为你一个线程没处理好,让线上用户卡半天。很多能力,其实是长期做项目、踩坑、背锅之后慢慢形成的。这个东西不是刷多少题能完全替代的。所以 Google 现在允许 AI 进面试,我反而觉得至少它开始慢慢往真实工作环境靠了,而不是默认每个人都得像个人形 IDE 一样坐那默写代码。04AI真的能替代人吗?当然,AI 确实会让很多事情变快。像现在我自己查问题,很多时候也会顺手丢给 AI 先帮忙看看方向。尤其 Android 这边,日志一长起来真的头大。有时候一个 Crash stack trace 能套十几层,最后真正有用的信息可能就两行。以前经常盯着 Logcat 看半天,现在至少有人能先帮你把重点捞出来。但最后真敢不敢改、敢不敢上线,很多时候还是得自己决定。好了,不扯了。我先去看看刚刚那个Activity退出之后为什么会有内存泄漏,LeakCanary 已经给我弹第三次了。点这里,关注我,记得收藏与订阅哦!END