vdom

将多次dom修改的结果一次性更新到页面上,从而减少了页面的渲染次数,减少了修改dom之后的回流与重绘,提高了渲染性能
VDOM的厉害之处不在于他运行有多快,而在于它在不需要人工优化的情况下,提供一个过得去的性能优化

说一说之前的面试体验吧

  • 有一些纯属浪费时间,技术栈不太符合的也叫你过去面试,以后需要在先问技术栈再决定去不去面试,不然把自己搞的又累又浪费时间
  • 面试本来就是双向选择,所以对面试官不要怂,说不定他比你还垃圾,毕竟面试造火箭,工作拧螺丝
  • 经过这几轮面试, 主要可能问到的是
    • 算法(排序, 动态规划),
    • react 源码(fiber, react 事件原理, 时间片(time slicing), setState 在setTimeout 执行为什么是同步的, hook 实现原理也就是闭包, hook ref.current)(前端面试星球小程序有答案)
    • react diff 算法
      • 分3种,1 tree duff 2 component diff 3 element diff
    • 网络问题 (tcp/ip, https, http1.0 与 http 1.1)
      • tcp/ip 三次捂手, 四次挥手
      • https 基于ssl /tls 对称加密(简单说就是把各自秘钥传给对方),非对称加密
      • http1.0(一个http 请求连一个tcp, 所以时间耗在3次握手,4次回收), http 1.1(增加 keep-alive), http2.0 (头部压缩,二进制流,帧中有报文信息,通过排序重新组合还原报文) 的区别
    • nodejs (中间件) 插件
    • umi 底层, 约定式路由实现, dva, cli 集合 (webpack, ssr, UI库) 等等是怎么实现的
    • 设计模式 (工厂, 单例, 观察者模式, 发布订阅)

说一说未来

  • 针对算法 动态规划,DFS, BFS, 二分法,链表, 二叉树,
  • react 源码,继续深入,这次要先看结构,再深入源码
  • vue 3.0 原理, 深入学习vue生态 (vuex, vue-router, echart)
  • 图表实现 (canvas, three.js)
  • nodejs
  • 一个后端 语言 nodejs / python

  • 设计模式
  • 红宝书
  • 图解http

学习本就是输入输出的事情, 学是输入,教别人是输出,多记录多回顾