发现网站加载卡顿或者性能差的情况,前端该如何去debug和优化?
这是昨天面试的时候面试官问的,我说去控制台看Timeline和Profiles(没想过这个问题,随口说的),但是我的回答好像他不满意.
他问我知不知道一个页面加载完成后js做了哪些事,还有浏览器怎么去加载渲染一个页面.
我觉得他想要的回答和这些有关,求指点.
为什么没人回答debug?优化的话yahoo那14条够了,我需要debug.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
减少数据库的查询,部分数据可以使用缓存
加速的方式很多,如服务器方面可以压缩合并Css、Js文件之类;网络方面有CDN优化之类的;本地方面可以做延迟Js运行等等。
你需要什么debug? chrome , firefox 的开发者工具做调测很方便的呀,各种数据都不缺。
图片延迟加载
前端静态文件的合并压缩
加载过程中的重绘和重排
js的执行效率
CDN存放静态文件
文件名MD5,缓存设置的很长。这条是优化缓存后的页面加载速度的
产品目标用户的电脑速度。这条是抖机灵的。。
profile很有用啊,看看哪些类占内存和cpu过多,看看哪些类没有及时回收造成内存泄露。有些百思不得其解的性能问题都是要靠profile找问题根源的。
关于考官问你的浏览器工作机制,可以看看这篇http://kb.cnblogs.com/page/129756/
debug一般用来定位defect,而不是用来定位性能问题的。
浏览器在渲染页面时,先创建Document对象,然后开始解析页面结构,如果遇到非延迟和非异步脚本,浏览器会将该脚本下载并执行,此时页面加载暂停,是会出现卡顿现象的,所以需要将脚本放置在<body>标签的最后,不知道面试官是不是问的这个。