乐趣区

关于前端:前端面试资料整理相关知识篇

浏览器

浏览器缓存

MEMORY CACHE | DISK CACHE

memory cache 与 disk cache 的区别:

  • memory cache 更快
  • memory cache 会随着浏览器敞开而回收,disk cache 不会

两者什么时候应用?

200 -> response -> 敞开浏览器 -> 申请雷同地址 -> disk cache -> 刷新 -> memory cache

浏览器帧率

从一个像素渲染到页面的全过程。

回流与重绘

css 树和 dom 树,合并生成渲染树。
产生回流必产生重绘。

垃圾回收

算法有哪几种?别离原理是什么?

  • 援用计数:通过计算变量被援用的次数的确是否进行垃圾回收。毛病是当呈现循环援用时,无奈革除;另外就是有工夫开销,要不停监控对象。长处是速度快,发现后立刻回收。
  • 标记革除:执行过程分两次,第一次确定变量是否被援用并标记,第二次将未被援用的变量回收并革除标记。毛病是执行两次,回收过程程序终止执行;产生内存碎片;。长处是能够辨认循环援用
  • 标记实现:标记革除的根底上减少了对碎片空间的整顿,将碎片挪动并合并成一个间断空间

V8 中应用的是那种?

为了缩小 GC 能够做那些优化?

如何通过 performance 监控浏览器?

如何通过 timeline 找到频繁垃圾回收,缩小阻塞?

计算机

缓存

协商缓存与强缓存

强缓存是指,不间接从服务器中获取数据,间接从缓存中获取,通常是通过服务端设置 http 头实现。
协商缓存是指,服务器与客户端通过标识确定是否从缓存还是服务器中获取资源。

http

http1.1 比 http1 多了 E-Tag,用于协商缓存的字段
http2 多了二进制传输,流媒体之类

http 工作流程

ps. TCP 三次握手:C – 你在吗?-> S – 我在 -> C – 晓得了 -> S

非简略申请比简略申请多了“预检”OPTION,响应“预检申请”后才开始正式通信。

简略申请:POST, GET, HEAD
非简略其你去:

  • DELETE,PATH,PUT
  • 发送 json 数据。
  • 自定义头部字段

http1.0、http1.1、http2.0、https

http 存在的性能阻碍次要是两个点:带宽与提早。带宽目前通过硬件晋升,提早又分为 3 种,浏览器阻塞、DNS 查问、建设连贯。浏览器阻塞通常是因为浏览器会限度最大连接数,DNS 是查问过程耗费的工夫,建设连贯,通常是 http 协定在 TCP 中通过 3 次握手 4 次挥手。

http1.0 时代,1996 年,次要是解决简略的 html 页面
http1.1 时代,1999 年,减少了 css 与 js 文件,为了放慢网站的加载速度

  • 缓存策略,头减少了 Expire,If-Modified-sice
  • 裁减了谬误状态码
  • 为了适配主机应用虚拟机时,会专用一个 IP,所以减少了 Host 字段。在 http1.1 中,申请和响应都要减少该字段。
  • 减少了长连贯,Connect: keep-alive,在一个长连贯下,不必反复建设连贯和敞开连贯的耗费。

    • header 压缩

    https,参考,默认是 443 端口
    C -hash 反对 ->S
    S - 公钥加密的认证 ->C
    C 验证认证
    C - 对称加密(RSA)加密文本和公钥 -> S

    http2.0 时代,基于谷歌剔除的 SPDY 计划做了降级

    • 传输用二进制,而不是 http1.* 时的文本
    • 反对服务端的 push
    • 多路复用:在一个连贯中,即可实现并行,而不是原来有序阻塞。通过将对二进制数据帧进行程序标识,客户端接管到的数据进行合并,而不会呈现错位。因为一个连贯即可实现,所以对服务器来说相当于减少了并发量(原来须要发 4 个连贯,当初一个连贯能达到 4 个连贯的成果)。
    • 丰盛缓存类型:协商缓存
    • header 压缩

websocket

原理:相似于 http 须要握手,然而不同的是具备长久的链接
头有 upgrade 标识 websocket 通信

跨域

有哪些不必的思考跨域?
script,link,img src 这种不须要思考跨域

跨域的解决方案?

  • nginx
  • cors
  • jsonp 须要后端和前端协商回调函数名

平安

常见的攻打与阻止有哪些?

CSRF
待补充

XSS
待补充

source-map
源码解析

中间人攻打
待补充

从浏览器输出 URL 到返回页面的过程

参考

退出移动版