欢迎光临
我们一直在努力

(中篇)中高级前端大厂面试秘籍,寒冬中为您保驾护航,直通大厂

感恩!~~没想到上篇文章能这么受大家的喜欢,激动不已。🤩。但是却也是诚惶诚恐,这也意味着责任。下篇许多知识点都需要比较深入的研究和理解,博主也是水平有限,担心自己无法承担大家的期待。不过终究还是需要摆正心态,放下情绪,一字一字用心专注,不负自己,也不负社区。与各位小伙伴相互学习,共同成长,以此共勉!

最近业务繁忙,精力有限,虽然我尽量严谨和反复修订,但文章也定有疏漏。上篇文章中,许多小伙伴们指出了不少的问题,为此我也是深表抱歉,我也会虚心接受和纠正错误。也非常感激那么多通过微信或公众号与我探讨的小伙伴,感谢大家的支持和鼓励。

引言

大家知道,React 现在已经在前端开发中占据了主导的地位。优异的性能,强大的生态,让其无法阻挡。博主面的 5 家公司,全部是 React 技术栈。据我所知,大厂也大部分以 React 作为主技术栈。React 也成为了面试中并不可少的一环。

中篇主要从以下几个方面对 React 展开阐述:

本来是计划只有上下两篇,可是写着写着越写越多,受限于篇幅,也为了有更好的阅读体验,只好拆分出中篇,希望各位童鞋别介意。🙃,另外,下篇还有 Hybrid App / Webpack / 性能优化 / Nginx 等方面的知识,敬请期待。

建议还是先从上篇基础开始哈~有个循序渐进的过程: 面试上篇。🤑

进阶知识

框架: React

React 也是现如今最流行的前端框架,也是很多大厂面试必备。React 与 Vue 虽有不同,但同样作为一款 UI 框架,虽然实现可能不一样,但在一些理念上还是有相似的,例如数据驱动、组件化、虚拟 dom 等。这里就主要列举一些 React 中独有的概念。

1. Fiber

React 的核心流程可以分为两个部分:

  • reconciliation (调度算法,也可称为 render):
    • 更新 state 与 props;
    • 调用生命周期钩子;
    • 生成 virtual dom;
      • 这里应该称为 Fiber Tree 更为符合;
    • 通过新旧 vdom 进行 diff 算法,获取 vdom change;
    • 确定是否需要重新渲染
  • commit:
    • 如需要,则操作 dom 节点更新;

要了解 Fiber,我们首先来看为什么需要