1. 输入url到加载完页面的过程
  2. TCP三次握手/四次挥手详解
    为什么是三次而不是两次,四次?
  3. 浏览器缓存
  4. 浏览器解析渲染页面的过程:

根据 HTML 解析出 DOM 树;
根据 CSS 解析生成 CSS 规则树;
结合 DOM 树和 CSS 规则树,生成渲染树;
根据渲染树计算每一个节点的信息;
根据计算好的信息绘制页面。

1.根据 HTML 解析 DOM 树

根据 HTML 的内容,将标签按照结构解析成为 DOM 树,DOM树解析的过程是一个深度优先遍历。即先构建当前节点的所有子节点,再构建下一个兄弟节点。 在读取 HTML 文档,构建 DOM 树的过程中,若遇到 script 标签,则 DOM 树的构建会暂停,直至脚本执行完毕。

2.根据 CSS 解析生成 CSS 规则树

解析 CSS 规则树时 js 执行将暂停,直至 CSS 规则树就绪。 浏览器在 CSS 规则树生成之前不会进行渲染。

3.结合 DOM 树和 CSS 规则树,生成渲染树

DOM 树和 CSS 规则树全部准备好了以后,浏览器才会开始构建渲染树。 精简 CSS 并可以加快 CSS
规则树的构建,从而加快页面相应速度。

4.根据渲染树计算每一个节点的信息(布局)

布局:通过渲染树中渲染对象的信息,计算出每一个渲染对象的位置和尺寸
回流:在布局完成后,发现了某个部分发生了变化影响了布局,那就需要倒回去重新渲染。

5.根据计算好的信息绘制页面

绘制阶段,系统会遍历呈现树,并调用呈现器的“paint”方法,将呈现器的内容显示在屏幕上。
重绘:某个元素的背景颜色,文字颜色等,不影响元素周围或内部布局的属性,将只会引起浏览器的重绘。
回流:某个元素的尺寸发生了变化,则需重新计算渲染树,重新渲染。

触发reflow情形

下面几种情况会发生重排:
(1)浏览器尺寸改变(resize)
(2)修改网页默认字体
(3)修改CSS样式改变尺寸(包括display: none)
(4)JS操作DOM树
(5)一些影响布局的动画
(6)使用JS脚本获得一些布局属性时,比如offsetTop

减少reflow方法

(1)不要逐个修改DOM样式,统一修改
(2)对需要进行复杂操作的DOM元素,先设置display: none
(3)为html动画原件使用absolute 布局或 fixed 布局,这样不会引起重排和重绘。
(4)减少使用table布局,因为稍加改动就会导致table的重新布局。
(5)将offsetTop等属性缓存成局部变量。

  1. HTTP常见状态码及应用场景:

1xx:信息性状态码,服务器正在处理请求;
2xx:成功状态码 ,请求正常处理完毕;
3xx:重定向,需要进行额外的操作完成请求;
4xx:客户端错误,客户端请求出错,服务器无法处理请求;
5xx:服务器错误,服务器处理请求出错。

各类别常见状态码:

2xx (3种)

200—— OK:表示从客户端发送给服务器的请求被正常处理并返回;
204 ——No Content:表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回);
206 ——Partial Content:表示客户端进行了范围请求,并且服务器成功执行了这部分的GET请求,响应报文中包含由Content-Range指定范围的实体内容。

3xx (5种)

301 ——Moved Permanently:永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL;
302 ——Found:临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使用新的URL;
303—— SeeOther:表示请求的资源被分配了新的URL,应使用GET方法定向获取请求的资源;
304—— Not Modified:表示客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的请求时,服务器端允许访问资源,但是请求为满足条件的情况下返回改状态码(即缓存是最新的);
307—— Temporary Redirect:临时重定向,与303有着相同的含义,307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况);

301与302的区别:前者是永久移动,后者是临时移动(之后可能还会更改URL)
:302与303的区别:后者明确表示客户端应当采用GET方式获取资源

4xx (4种)

400 ——Bad Request:表示请求报文中存在语法错误; 401 Unauthorized:未经许可,需要通过HTTP认证;
403—— Forbidden:服务器拒绝该次访问(访问权限出现问题)
404—— Not Found:表示服务器上无法找到请求的资源,除此之外,也可以在服务器拒绝请求但不想给拒绝原因时使用;

5xx (2种)

500—— Inter Server Error:表示服务器在执行请求时发生了错误,也有可能是web应用存在的bug或某些临时的错误时;
503—— Server Unavailable:表示服务器暂时处于超负载或正在进行停机维护,无法处理请求

  1. HTTP常用请求方法
  2. HTTP2.0的优势

前端面试之计算机基础篇相关推荐

  1. 前端面试大全(序篇)

    面试系列 后续更新分类将同步更新系列目录: 前端面试大全(序篇):https://blog.csdn.net/cainiaoyihao_/article/details/116518423 前端面试大 ...

  2. 携手共筑前端面试宝典之JQUERY篇-王大师

    写在前面 本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,<Java王大师王天师>作者 公众号:山峯草堂,非技术多篇文章,专注于天道酬勤的 Java 开发问题.中国国学.传 ...

  3. 前端面试大全(JavaScript篇——面试利器值得拥有!)

    目录 面试系列 内容介绍 1.介绍js的基本数据类型. 2.介绍js有哪些内置对象? 3.说几条写JavaScript的基本规范?, 4.JavaScript原型,原型链? 有什么特点? 一.关系 二 ...

  4. python深浅拷贝 面试_Python面试宝典之基础篇-02

    原标题:Python面试宝典之基础篇-02 我觉得你如果正在找工作,我的Python面试宝典几期教程,你一定得花时间看完了! 题目006:说说Python中的浅拷贝和深拷贝. 点评:这个题目本身出现的 ...

  5. Interview:算法岗位面试—BAT公司问题面试之计算机基础(进程与线程的区别)、经典概率问题等集锦

    Interview:算法岗位面试-BAT公司问题面试之计算机基础(进程与线程的区别).经典概率问题等集锦 目录 计算机基础问题 1.进程与线程的区别 概率问题 1.貂蝉与西施回头率比美问题 计算机基础 ...

  6. 视频教程:Java七大外企经典面试套路之基础篇

    视频教程:Java七大外企经典面试套路之基础篇 Java是Sun公司推出的一种编程语言.它是一种通过解释方式来执行的语言,语法规则和C++类似.同时,Java也是一种跨平台的程序设计语言. 本教程主要 ...

  7. 前端面试大全(Ajax篇——面试官这样问,你答得上来吗?)

    目录 面试系列 内容介绍 1.Ajax 是什么? 如何创建一个Ajax? ①.Ajax ②.异步 ③.步骤 2.同步和异步的区别? ①.同步 ②.异步 3.如何解决跨域问题? 4.http状态码有那些 ...

  8. web前端知识集合——javascript基础篇之javascript背景历史和运行环境(一)

    前言:温故而知新,可以为长也!万变不离其宗,无论是现在web前端技术衍生出多么优秀,好用的框架,插件,都离不开这门语言的基础知识.掌握各种优秀的框架,插件,只是"善用工具的人",深 ...

  9. python程序员面试算法宝典 pdf_Python面试宝典之基础篇3

    Python面试宝典之基础篇-03 题目011:Python中为什么没有函数重载? 点评:C++.Java.C#等诸多编程语言都支持函数重载,所谓函数重载指的是在同一个作用域中有多个同名函数,它们拥有 ...

最新文章

  1. juniper srx解决内网不能telnet公网IP的方法
  2. 华为荣耀5cvs华为v9play_华为荣耀v9play和荣耀9哪个好_华为荣耀v9play和荣耀9对比评测_飞翔教程...
  3. java考驾照_基于JavaWeb的驾校考试系统.doc
  4. matlab标签背景透明,ROI透明背景(matlab)
  5. silk lobe资源公众号_微小说全免费阅读公众号阅读网资源推荐
  6. 模拟钟表的手机软件_手机时钟软件推荐
  7. Windows Server 2012 AD域管理创建
  8. mpu6050惯性导航学习记录
  9. 数据分析流程——业务需求分析
  10. 为什么程序员做外包会被瞧不起?
  11. 我分析了b站10万条弹幕,发现了歪嘴战神的终极奥义!(文末重磅福利)
  12. 浙江工商大学计算机考试科目,浙江工商大学(专业学位)计算机技术研究生考试科目和考研参考书目...
  13. 关于示波器是否必须要接地线的疑问
  14. echarts图表大小根据div大小的改变而改变的问题
  15. 2008春晚,赵本山之《火炬手》(现场版最新完整台词)
  16. 落枕的原因 神奇穴位 预防落枕
  17. HTTP Content_Type
  18. AI 视频云 VS 窄带高清,谁是视频时代的宠儿
  19. 闭区间连续函数的性质+习题课(函数与极限总复习)——“高等数学”
  20. caffe源码 layer分析

热门文章

  1. 【EMCC】 12.1.0.5 OEM server agent 安装配置及监控MySQL数据库
  2. 报表工具的第二次革命,室友用了大喊三声好好好!
  3. C语言——如何实现扫雷游戏,详细解析
  4. android kvm linux,GitHub - QEMUINANDROID/QEMUARMLINUXANDROID: 移植linux上的qemu虚拟化软件到android...
  5. 不平衡数据集处理办法
  6. citespace wos文献处理
  7. 隐​藏​任​意​一​个​分​区​图​标​,​个​人​已​验​证​技​术​贴
  8. 一张看不清的黑洞照片,却藏着大量的天文信息!
  9. java SFTP下载,读取linux服务器文件
  10. echarts使用中过程中的常用配置属性常见问题及绘制地图