2018.5面试总结

2018-05-11  本文已影响0人  安石0

问题1:前端性能优化

优化图

参考:掘金

511.png

1.1. http请求优化

优化手段1:合并请求
合并请求的主要目的是减少浏览器对服务器发起的请求数,从而减少在发起请求过程中花费的时间。
优化手段2:域名拆分
域名拆分主要是为了增加浏览器下载的并行度,让浏览器能同时发起更多的请求
域名拆分为3到5个比较合适,过多的域名会带来DNS解析时间的损耗,可能会降低性能
优化手段3:开启Gzip
Gzip是一种压缩技术,可以将资源在服务端进行压缩,然后发送给浏览器后再进行解压,这种方式会降低传输大小,提高网页加载性能。
化手段4:开启KeepAlive
开启KeepAlive能够减少浏览器与服务器建立连接的次数,从而节省建立连接时间。
优化手段5:MinifyMinify
指的是将JS和CSS等文本文件进行最小化处理,一般对于CSS来说就是去除空格去除换行去除注释等,对于JS,除了上述方法外,还可以进行变量名替换,将长变量名替换为短变量名。目前有很多用户做Minify的工具,例如uglifyjs等。
其他:
请求数量——合并脚本和样式表,CSS Sprites,拆分初始化负载,
划分主域
请求带宽——开启Gzip,精简JavaScript,移除重复脚本,
图像优化
缓存利用——使用CDN,使用外部JavaScript和CSS,添加Expires头,减少DNS查找,配置ETag,
使Ajax可缓存
页面结构——将样式表放在顶部,将脚本放在底部,尽早刷新文档的输出代码校验——避免CSS表达式,避免重定向
其他答案2

内容层面

网络层面

渲染层间

代码层面

1.2 js性能优化

参考1
参考2

问题2:不通过脚手架配置项目

分支1:配置vue项目
分支2:配置react项目

补充1:阿里电面

1,js与其他语言的区别java等
2,tcp连接三次握手做了什么?
3,react和vue性能对比
4,算法复杂度与稳定性

补充2

1 http请求头和响应头有哪些东西?
2 Generator是什么?
3 symbol是什么?

上一篇 下一篇

猜你喜欢

热点阅读