当前位置: 首页 > 面试经验 >

捋捋前端面试题

优质
小牛编辑
132浏览
2023-03-28

捋捋前端面试题

一、在浏览器中输入URL并回车后都发生了什么?
URL(俗称网页/网址;如:https://www.baidu.com/)
https => 加密传输协议
www => 服务器
baidu.com => 域名
?id=xxx => 参数
答:先解析URL拿到IP地址,建立TCP连接(三次握手),请求和传播数据,渲染页面(断开连接=> 四次握手)
俗话称:先拿到地址然后试探一下(三次握手,不携带数据哦),得到反馈后拿数据(四次挥手),拿到数据后开始渲染数据并断开连接。


二、CSS加载会造成阻塞吗?
1、会阻塞dom解析吗?  =>   不会  =>  两者并行构建
2、会阻塞dom渲染吗?  =>   会  =>  两者协作关系
3、会阻塞js执行吗?  =>   会  =>  举个:当一个按钮css是蓝色的,js设置成红色,那么最后显示的是红色。但在css未执行的时候js不会执行


三、从哪些点进行性能优化?
1、页面加载性能
    => 减少http请求
        缩小文件大小(gzip服务端压缩(需后端配合)、线上压缩可用熊猫压缩、代码压缩(可用webpack))
        使用CDN库
        懒加载、预加载
        分包(先加载主包)
2、动画与操作性能
    =>减少回流与重绘:脱离文档流(定位、浮动、translate.....)
        (⚠️:回流:会改变元素的几何属性(长宽高)。重绘:字面意思,不改变元素的几何属性时改变元素的样式。
                   重绘不会影响回流,但回流一定重绘,重绘很影响性能会造成闪屏卡顿等现象)
3、内存占用
    => 尽量不闭包、尽量少定义全局变量
        (因为变量不会回收,所以当使用时要记得手动回收变量  obj = null)
4、电量消耗
 
 类似资料: