(整理了牛客、CSDN的前端开发八股文面经,避开硬核知识,时间有限的情况下最快hack前端interview!加油)
学习之前做好心理建设:注意你只是在了解浏览器,为面试提问做准备,不是研发!不是研发!!不是研发!!!
1.输入url到浏览器加载的全过程
第1阶段-连接服务器(不考虑缓存):输入url, 在缓存中查找页面地址/向DNS发送域名解析(使用到UDP协议),根据IP地址和默认端口80与服务器建立连接(tcp连接),发送http请求(将文件请求作为第三次tcp握手的数据发送给服务器),服务器响应并发送html文件,关闭tcp连接;
第2阶段-解析html内容并渲染到客户端 (也适合用来回答“浏览器的(渲染引擎)工作原理”或者“解释浏览器的渲染进程的渲染流程”)
5步: 解析html成dom树,解析css(包括外部css文件+样式元素的样式数据)成css树或style rules,合并2者构建成render树,layout(布局)计算节点在屏幕中的位置,渲染引擎会遍历render树,使用用户ui后端层/使用显卡进行节点绘制(paint),最后调用GPU进程将默认图层和复合图层进行合成,显示出最终页面
第3阶段-JS解析:创建window对象,加载j