当前位置:网站首页>【测试面试题】页面很卡的原因分析及解决方案
【测试面试题】页面很卡的原因分析及解决方案
2022-07-07 22:06:00 【TEST_二 黑】
最近市场行情,很多小伙伴有被动跳槽的打算,最近小编会主要更新一些相关的面试题,希望能帮到大家。
其实很多面试官问一些问题,主要是想考察候选人的逻辑思维能力以及表达能力。测试新手因为测试经验不够丰富,往往容易漏掉一些要点,所以建议大家面试前一定要做好充足的准备。
具体操作其实就是多刷面经,碰到一些常见问题时,先不要着急看答案找答案,而是先想想如果是自己会怎么答。
试想一下,如果面试官恰好问到了你复习过的题目,是不是能帮你提升面试成功率?
Tip:如果碰到准备过的题目,不要一骨碌马上全部说完答案,要展现出你思考的过程,一方面不要让面试官感觉你像背的题目,没有自己的理解;另一方面自己也可以想看看有没有遗漏的要点。
话不多说,关于页面很卡的原因分析及解决方案如下:
原因一:http请求次数太多
解决:减少http请求次数。
① 图片地图:把多张图片整合到一张图片中,以位置定位超链接。
② CSS
Sprites合并图片,通过指定CSS的backgroud-image和backgroud-position来显示元素。
③ 合并JS脚本和CSS样式表。
④ 使用外部JS和CSS文件。
原因二:接收数据时间过长,如下载资源过大
解决:对HTTP传输进行压缩。
即在js,css、图片等资源已经压缩的基础上,在HTTP传输过程中的再次压缩。
客户端可以通过Accept-Encoding头来声明浏览器支持的压缩方式,服务端通过Content-Encoding来启用压缩,配置压缩的文件类型,压缩方式。gzip使用无损压缩,压缩效果最佳,已经成为使用最为普遍、支持的浏览器最多的数据压缩格式。
原因三:JavaScript脚本过大,阻塞了页面的加载
解决:将JavaScript脚本放在标签前。
script没有async和defer时,JS文件将在下载后立即执行。这种情况下,script放在顶部会阻塞页面呈现,在网速慢的情况下会导致“白屏”,直到脚本下载完毕才继续呈现页面。
因此,script放在底部可以让页面尽快呈现。
https://blog.csdn.net/zhouziyu2011/article/details/71330739
原因四:CSS、JavaScript、图片等需要重复加载
解决:静态资源统一放在一个静态域名上,减轻重复下载静态资源的负担。
原因五:cookie影响
解决:减小cookie的影响。
① 去除没有必要的cookie,如果网页不需要cookie就完全禁掉。
② 将cookie的大小减到最小:减小HTTP请求报文的大小,提高响应速度。
③ 设置合适的过期时间:cookie信息将存储到硬盘上,即使浏览器退出cookie还会存在,只要cookie未被清除且还在过期时间内,该cookie就会在访问对应域名时发送给服务器。
④ 通过使用不同的domain减少cookie的使用:cookie在访问对应域名下的资源时都会通过HTTP请求发送到服务器,但在访问一些资源,如js,css和图片时,大多数情况下cookie是多余的,可以使用不同的domain来存储这些静态资源,这样访问这些资源时就不会发送多余的cookie,从而提高响应速度。
原因六:网页资源过多
解决:使用CDN部署网络以提高下载速度,可以先通过免费的CDN供应商来分发网页资源。
原因:DNS解析速度
DNS解析是从域名到IP的解析。DNS解析包括往复解析的次数及每次解析所花费的时间,它们两者的积即是DNS解析所耗费的总时间。许多人无视了DNS解析的因素,其实它对网站解析速度也是十分重要的。可以更换延迟比较低的DNS服务器。
边栏推荐
- Aitm3.0005 smoke toxicity test
- FFA and ICGA angiography
- Kubectl 好用的命令行工具:oh-my-zsh 技巧和窍门
- 某马旅游网站开发(登录注册退出功能的实现)
- Using Google test in QT
- Common selectors are
- 快速回复二极管整流特性
- Install sqlserver2019
- Chisel tutorial - 05 Sequential logic in chisel (including explicit multi clock, explicit synchronous reset and explicit asynchronous reset)
- [the most detailed in history] statistical description of overdue days in credit
猜你喜欢
Aitm3.0005 smoke toxicity test
【编程题】【Scratch二级】2019.12 飞翔的小鸟
80% of the people answered incorrectly. Does the leaf on the apple logo face left or right?
95. (cesium chapter) cesium dynamic monomer-3d building (building)
Basic learning of SQL Server -- creating databases and tables with the mouse
面试题详解:用Redis实现分布式锁的血泪史
【编程题】【Scratch二级】2019.12 绘制十个正方形
QT creator add JSON based Wizard
[the most detailed in history] statistical description of overdue days in credit
【编程题】【Scratch二级】2019.09 绘制雪花图案
随机推荐
Anaconda+pycharm+pyqt5 configuration problem: pyuic5 cannot be found exe
一个测试工程师的7年感悟 ---- 致在一路独行的你(别放弃)
【编程题】【Scratch二级】2019.03 绘制方形螺旋
Laser slam learning (2d/3d, partial practice)
Automated testing: robot framework is a practical skill that 90% of people want to know
数据湖(十五):Spark与Iceberg整合写操作
HDU - 1260 tickets (linear DP)
The difference between -s and -d when downloading packages using NPM
Aitm3.0005 smoke toxicity test
The difference between get and post
面试题详解:用Redis实现分布式锁的血泪史
redis你到底懂不懂之list
数据库查询——第几高的数据?
limit 与offset的用法(转载)
One click free translation of more than 300 pages of PDF documents
Codeworks 5 questions per day (average 1500) - day 8
webflux - webclient Connect reset by peer Error
Orthodontic precautions (continuously updated)
[leetcode] 20. Valid brackets
How to measure whether the product is "just needed, high frequency, pain points"