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