面试题/知识点/黑技能(持续更新)

转载 (原文地址) booogle 随笔 待整理 178阅读 2019-02-25 11:15:03 举报
1: 深拷贝- 完全拷贝一个新对象,修改时原对象不再受到任何影响

JSON.parse(JSON.stringify(obj)): 性能最快

2: 执行上下文(EC)

执行上下文可以简单理解为一个对象:

它包含三个部分:
变量对象(VO)
作用域链(词法作用域)
this指向

它的类型:
全局执行上下文
函数执行上下文
eval执行上下文

代码执行过程:
创建 全局上下文 (global EC)
全局执行上下文 (caller) 逐行 自上而下 执行。遇到函数时,函数执行上下文 (callee) 被push到执行栈顶层
函数执行上下文被激活,成为 active EC, 开始执行函数中的代码,caller 被挂起
函数执行完后,callee 被pop移除出执行栈,控制权交还全局上下文 (caller),继续执行

3:从输入 url 到展示的过程

DNS 解析
TCP 三次握手
发送请求,分析 url,设置请求报文(头,主体)
服务器返回请求的文件 (html)
浏览器渲染

HTML parser --> DOM Tree

标记化算法,进行元素状态的标记
dom 树构建

CSS parser --> Style Tree
解析 css 代码,生成样式树

attachment --> Render Tree
结合 dom树 与 style树,生成渲染树

layout: 布局
GPU painting: 像素绘制页面

4:浏览器如何通过域名去查询URL对应的IP(对应服务器地址)呢

1、浏览器缓存:浏览器会按照一定的频率缓存DNS记录。
  2、操作系统缓存:如果浏览器缓存中找不到需要的DNS记录,那就去操作系统中找。
  3、路由缓存:路由器也有DNS缓存。
  4、ISP的DNS服务器:ISP是互联网服务提供商(Internet Service Provider)的简称,ISP有专门的DNS服务器应对DNS查询请求。
  5、根服务器:ISP的DNS服务器还找不到的话,它就会向根服务器发出请求,进行递归查询(DNS服务器先问根域名服务器.com域名服务器的IP地址,然后再问.com域名服务器,依次类推)。

文章内容来源: https://juejin.im/post/5c64d15d6fb9a049d37f9c20
http://www.cnblogs.com/geaozhang/p/7010353.html

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复