首页 > 今天面试遇到一个问题:信息有限的情况下怎么排查bug

今天面试遇到一个问题:信息有限的情况下怎么排查bug

原话是:如果你写的页面用户出现bug、并且用户只给你截图,没有其它信息,而且你即使有用户的设备也不可能重现,这个时候要怎么排查bug。也没办法联系用户。

然后我问截图内容,得到回答:“比如说淘宝一个页面中间有一块内容空白”。

然后我就懵逼了,既然我不能重现,我要怎么解决?网络问题?运营商广告劫持?软件兼容?用户安装了屏蔽广告的插件?设备损坏?用户中毒了?用户自制浏览器/非主流浏览器?...

如果不考虑“即使有用户的设备也不可能重现”这个条件,可以想到有上面这些原因,但是如果有了这个限制, 那只剩下:设备损坏用户中毒用户自制浏览器这3个可能了,既然是这3个可能,我还有必要去排查bug吗?就算有必要,我也不知道怎么解决...

不明白面试官的意思,面试又失败了,请问有人知道这题考的是什么吗...


感谢各位的回答,我觉得大家说的是正确的,应该是想了解我是否有处理bug的经验。但是各位说的我有跟面试官说,但是他没什么反应,估计不是他想要的答案


其实这类的问题的核心就是你有什么手段可以记录问题的信息,就和如果android,ios应用出现了崩溃怎么办一样,通过代码捕获日志然后发送到服务器,而js上应该类似,也是通过某种手段用以记录错误信息然后发给开发者,然后进行分析从而得知问题,这样就不会因为无法重现和无法询问客户问题而烦恼问题来源。


一般来说,线上的日志必须要打的全面,所有的异常和重要操作都应该要记录日志,通过查看日志来重现当时的异常环境。实际开发也是这么做的。

个人觉得,这是考察你的项目经验。。


一般碰到这种无法重现,只有截图的defect我们是不会去花effort处理的。
但是需要log一下,以待日后分析,追溯时候派用场。

这个跟病人肚子疼拉稀,于是拍了一张热翔的照片,给医生看是一样的道理,医生是不会理你的。
我们在工作中也要拒绝一些无头无脑的defect。

如果这个无头defect是来自上层的压力(正好不巧是boss点出来的),那么只有分析源码一条路了,稍微分析下代码,如果找不出原因那就只能不了了之,comment填一下,应付应付上层还是必要的处世之道,反正我们花精力去研究过了,至于能不能resolve就是能力问题了。

总之,无法再次重现的defect,不是真正意义上的defect,它并不block用户,哪个系统没有几个潜在defect呢。。。


首先从后端开始排查问题,看看图片中空白部分的内容是否是AJAX获取的,如果是的话,检查一下服务器日志,看能不能找出异常信息。

如果是前端出bug的话,那就看看图片里能否看到用户用的是什么浏览器,不过题目中限制条件太多,如果是前端bug的话那就只能尽量在本地尝试重现这个问题。

另外,我也不知道这题到底想考什么,感觉不像考技术的。

以后遇到这类问题,有可能是面试官遇到过这类坑,这时候可以谦虚地问一下面试官是怎样解决这种问题的,收割经验。


比如那些做游戏BUG的就是这样,玩家提供bug的描述或者截图,然后就劈啪啦去找数据,一般都是服务器日志里面查找异常的,通过用户的账户信息在用户操作日志里面,再与正常的用户操作日志进行对比从而判断哪里出现问题,在什么特定情况下出现的等等。


个人理解,提供一下讨论。
这个题应该是想看你碰到一个问题时的思考流程,以及对知识的整体结构把握。
之所以强调信息有限,是想防止面试者一个问题接一个问题的问下去,在一问一答的过程中帮助被提问者把问题定位出来了。假想一个不懂技术的BOSS来问你,为什么这个淘宝页面空白了。这个时候你怎么办?再跟BOSS问其他Error信息?
面试官想看到的是,你能想到多少种情况。针对情况A如何解决,针对情况B如何解决,怎样判断问题是情况A而不是情况B。你需要不停的提假设,然后提出验证假设的办法,一步一步把问题解决掉。
从你回答这个问题的过程中,他就能判断你的知识架构以及技能掌握程度。
你说你只能想到3种情况,并且即使知道了,也不知道怎么解决。这就是面试官了解到的你的知识架构和掌握程度了。
剩下的就是面试官自己权衡你有没有满足他的招聘要求了。
------- 分割线 ---------
看了下其他人的答案,补充一点就是如果解决不了,你也可以提改善措施,以帮助以后如何定位这个问题。
虽然我不太确定前端bug是否有日志记录去给你回溯。

【热门文章】
【热门文章】