问题
如果有一个页面特别卡顿,设想一下可能的原因?
考察点
面试官想了解:
- 是否对该场景进行过测试
- 是否有问题的排查思路
技术点
涉及的技术点:
- 软件测试问题分析思路
- 性能测试
回答
页面特别卡顿的原因,这个题目对应的考察点比较广泛,有前端性能问题,也有对应后端接口性能问题。
页面请求数量是否太多
首先,考虑的就是是否当前页面对应的请求数太多,导致请求返回的数据比较慢。
这时,需要从前后端分别进行分析,看下是当前页面对应的后端接口响应的时间慢,还是前端重复请求太多导致。
如果是后端某些接口响应慢导致,则需要找到对应接口,反馈给后端研发进行优化。
如果是前端有大量的重复请求,则需要反馈给前端研发,在前端页面进行适当的数据缓存,进而减少重复的请求。
页面元素太复杂
对应页面资源类标签太多,比如:页面的DOM树对应的节点是否太多太长,页面是否有太多的图像及视频资源的加载,对应页面设计的太复杂导致页面加载慢,
页面数据量过大
当前页面需要展示的数据量过大,是否需要从业务层面需要对该页面进行分页处理或业务拆解。
客观因素
有可能当前网络环境问题导致对应页面加载过慢。
内存泄漏
首先,给大家说一下什么是内存泄漏。
对应的内存泄露就是由于代码原因,某些已经不再使用的变量或代码还在占用内存,未释放掉相关内存,其实就是一种内存的浪费。
有可能前端有大量的全局变量的数据或某些代码被循环引用导致。
主线程阻塞
开启一个字线程对主线程进行监控,当主线程的运行状态超过一定的时间阈值后,则认为主线程卡顿。
总结
以上为常见的页面卡顿的原因,如果是一个具体的场景,则还需要根据具体场景来进行判断。