如果有一个页面特别卡顿,设想一下可能的原因?

问题

如果有一个页面特别卡顿,设想一下可能的原因?

考察点

面试官想了解:

  • 是否对该场景进行过测试
  • 是否有问题的排查思路

技术点

涉及的技术点:

  • 软件测试问题分析思路
  • 性能测试

回答

页面特别卡顿的原因,这个题目对应的考察点比较广泛,有前端性能问题,也有对应后端接口性能问题。

页面请求数量是否太多

首先,考虑的就是是否当前页面对应的请求数太多,导致请求返回的数据比较慢。

这时,需要从前后端分别进行分析,看下是当前页面对应的后端接口响应的时间慢,还是前端重复请求太多导致。

如果是后端某些接口响应慢导致,则需要找到对应接口,反馈给后端研发进行优化。

如果是前端有大量的重复请求,则需要反馈给前端研发,在前端页面进行适当的数据缓存,进而减少重复的请求。

页面元素太复杂

对应页面资源类标签太多,比如:页面的DOM树对应的节点是否太多太长,页面是否有太多的图像及视频资源的加载,对应页面设计的太复杂导致页面加载慢,

页面数据量过大

当前页面需要展示的数据量过大,是否需要从业务层面需要对该页面进行分页处理或业务拆解。

客观因素

有可能当前网络环境问题导致对应页面加载过慢。

内存泄漏

首先,给大家说一下什么是内存泄漏。

对应的内存泄露就是由于代码原因,某些已经不再使用的变量或代码还在占用内存,未释放掉相关内存,其实就是一种内存的浪费。

有可能前端有大量的全局变量的数据或某些代码被循环引用导致。

主线程阻塞

开启一个字线程对主线程进行监控,当主线程的运行状态超过一定的时间阈值后,则认为主线程卡顿。

总结

以上为常见的页面卡顿的原因,如果是一个具体的场景,则还需要根据具体场景来进行判断。

1 个赞