关于性能优化问题的总结--【前端面试】
随着前端项目不断扩大,浏览器渲染的压力变得越来越重。配置好一点的计算机可以顺利地展现页面;配置低一些的计算机渲染页面的性能就不那么可观了。
性能优化部分的面试题主要考察应试者对网站性能优化的了解。如何做好性能优化,哪些操作会引起性能优化的问题,性能优化指标是什么等,都值得应试者关注。
因为性能优化变得越来越重要,所以很多企业专门建立团队去做性能优化。
1、谈谈你对重构的理解。
网站重构是指在不改变外部行为的前提下,简化结构、增加可读性,且在网站前端保持一致的行为。也就是说,在不改变UI的情况下,对网站进行优化,在扩展的同时保持一致的UI。
对于传统的网站来说,重构通常包括以下方面。
-
把表格( table)布局改为DV+CSS。
-
使网站前端兼容现代浏览器。
-
对移动平台进行优化。
-
针对搜索引擎进行优化。
深层次的网站重构应该考虑以下方面。
-
减少代码间的耦合
-
让代码保持弹性。
-
严格按规范编写代码。
-
设计可扩展的API。
-
代替旧的框架、语言(如VB)
-
增强用户体验。
-
对速度进行优化。
-
压缩 JavaScript、CSS、 image等前端资源(通常由服务器来解决)。
-
优化程序的性能(如数据读写)。
-
采用CDN来加速资源加载。
-
优化 JavaScript DOM。
-
缓存HTTP服务器的文件。
2、如果一个页面上有大量的图片(大型电商网站),网页加载很慢,可以用哪些方法优化这些图片的加载,从而提升用户体验?
对于图片懒加载,可以为页面添加一个滚动条事件,判断图片是否在可视区域内或者即将进入可视区域,优先加载。
如果为幻灯片、相册文件等,可以使用图片预加载技术,对于当前展示图片的前一张图片和后一张图片优先下载。
如果图片为CSS图片,可以使用 CSS Sprite、SVG sprite、 Icon font、Base64等技术。
如果图片过大,可以使用特殊编码的图片,加载时会先加载一张压缩得特别小的缩略图,以提高用户体验。
如果图片展示区域小于图片的真实大小,则应在服务器端根据业务需要先行进行图片压缩,图片压缩后,图片大小与展示的就一致了。