2019-11 下旬

# 2019-11-29: 什么是 HashTable ? 如何解决冲突

好好想想先 😌
  • TODO

# 2019-11-28: Websocket 怎么实现长连接

好好想想先 😌
  • 参考链接

  • 一句话

    • 基于 http
      • 101 switch protocol
      • Websocket 只需要一次 HTTP 握手,所以说整个通讯过程是建立在一次连接/状态中,也就避免了 HTTP 的非状态性,服务端会一直知道你的信息,直到你关闭请求,这样就解决了接线员要反复解析 HTTP 协议,还要查看 identity info 的信息。

# 2019-11-27: js 执行分为几个阶段,每个阶段分别做了什么

好好想想先 😌
  • 参考链接

  • 一句话

    • 语法分析阶段
      • 分析该 js 脚本代码块的语法是否正确,如果出现不正确,则向外抛出一个语法错误(SyntaxError),停止该 js 代码块的执行,然后继续查找并加载下一个代码块;如果语法正确,则进入预编译阶段。
      • 变量提升在此阶段完成
    • 预编译阶段
      • 创建执行上下文
      • 建立作用域
    • 执行阶段

# 2019-11-26: 什么是 WebAssembly,应用场景有哪些

好好想想先 😌
  • 参考链接

  • 一句话

    • 在网页上运行 C/C++ RUST 语言
    • AssemblyScript
    • 优点
      • 体积小:由于浏览器运行时只加载编译成的字节码,一样的逻辑比用字符串描述的 JS 文件体积要小很多;
      • 加载快:由于文件体积小,再加上无需解释执行,WebAssembly 能更快的加载并实例化,减少运行前的等待时间;
    • 场景
      • AutoCAD web 版
      • Google Earth

# 2019-11-25: Object.is=== 的区别

好好想想先 😌
  • 参考链接

  • 一句话

    • 两者基本相同
    • Object.is(NaN, NaN) // true
    • NaN === NaN // false
    • Object.is(0, +0) // true
    • Object.is(0, -0) // false

# 2019-11-24: 什么是 QUIC 协议,基本原理是什么

好好想想先 😌
  • 参考链接

  • 一句话

    • Quic 全称 quick udp internet connection,“快速 UDP 互联网连接”
      • 减少了 TCP 三次握手及 TLS 握手时间。
      • 改进的拥塞控制。
      • 避免队头阻塞的多路复用。
      • 连接迁移。
      • 前向冗余纠错。

# 2019-11-23: 什么是 TCP 拥塞,拥塞控制

好好想想先 😌

# 2019-11-22: 什么是 CSP(内容安全策略)

好好想想先 😌

# 2019-11-21: 什么是 SQL 注入,怎样预防

好好想想先 😌
  • 一句话
    • TODO