2021 面试题大纲

因为我的主要技术站是以 react 为主, 所以框架篇中不会写太多 vue 相关知识点

最近经历了好多次的面试, 这里就将我最近面到的或者说是看到的题目记录下来, 作为后面换工作时的预习

这些都会了, P6 是不成问题的

主要分为六大类, css, js, 框架,浏览器, 计算机基础, 算法

CSS

  • BFC 概念以及常用情景
  • 行内元素和块元素
  • CSS 优先级
  • 清除浮动方法
  • CSS 盒子模型
  • display 的一些值
  • position 的一些值
  • 居中方案
  • style 和 @import 区别
  • CSS 优化方案

JS

  • 防抖节流
  • instanceof 原理
  • typeof 判断类型
  • 说一说原型链
  • es5 继承的几种方式
  • 数组中常用 api
  • 对象中的 api
  • Map 和 Set 特点, 和普通对象,数组的区别, weakMap 和 weakSet
  • 深拷贝和浅拷贝
  • Let, Const, Var
  • 闭包
  • =====
  • bind 的实现
  • call 和 apply 区别和实现
  • 柯里化
  • 垃圾回收机制
  • V8 的理解
  • new 的原理
  • promise, promise.all 等 APi 原理
  • generator 原理
  • this 指向
  • 代理和反射
  • cookie 和 storage
  • IndexedDB
  • Service Worker
  • WASM
  • 数据精度问题, bigint
  • 正则表达式, 如何优化

设计模式

  • 发布订阅模式
  • 工厂模式
  • 装饰器模式
  • 惰性模式
  • MVC,MVP,MVVM
  • 状态模式,策略模式
  • 外观模式
  • 享元模式
  • 职责链模式

性能优化

  • 尾调用, 虚拟类, V8优化手段
  • 预加载, 预解析
  • 骨架屏
  • lazyLoad(路由和图片)
  • CDN
  • 代码压缩
  • 图片压缩, 或者使用其他格式图片
  • 对于性能的测试

框架

  • react 生命周期
  • react 合成方法
  • react 优化 shouldComponentUpdate, memo
  • useEffect
  • 虚拟 dom
  • 错误边界
  • Suspense lazy, 他和 react-loadable, 各自的实现原理
  • class 和 function 区别
  • react diff 的复杂度,以及 react diff 的原理
  • react setState 同步异步问题
  • hooks 使用过没有, 说一说 API
  • hooks 的执行原理, 为什么不能在条件中使用
  • fiber 原理
  • HOC 的原理, 和 hooks 对比
  • 错误处理, 及对应框架 如 sentry
  • vue 原理
  • Redux 原理
  • mobx 原理
  • typescript 的编译原理
  • compose 函数
  • ssr
  • ts 中 type 和 interface 区别
  • react-router 原理
  • history 和 hash

工程化框架

  • webpack 工作流程
  • webpack 优化, 拆包
  • webpack hotLoad 原理
  • loader 缓存原理
  • 怎么看待 vite 和 snowpack, 和 webpack 对比有什么区别
  • 摇树优化
  • babel 原理
  • 微服务
  • CMD,AMD, CommonJS, es6 模块
  • lerna 多个包管理
  • submodules
  • graphQL

图形化

  • canvas 相关
  • svg
  • webGL

移动端框架

taro

  • 编译机制

react-native

  • 原生和 js 层交互机制
  • 选择 RN 的原因 和 flutter 相比较有什么区别
  • 热更新, 热更新的增量更新

h5

  • js bridge 通信原理
  • rem vw
  • mediaQuery

浏览器

  • 重绘和回流
  • 从输入 url 到页面呈现
  • EventLoop 事件循环机制
  • 缓存策略
  • 浏览器工作原理
  • DOM 树
  • 事件捕获
  • 跨域

计算机基础

  • http 状态码
  • get 和 post 区别
  • cdn 原理
  • https 原理
  • 三次握手和四次挥手
  • http 版本
  • tcp 和 udp 区别
  • tcp 有效传输
  • websocket
  • 网络安全问题

算法

  • 排序算法, 时间,空间复杂度
  • 二叉树相关 深度优先遍历和广度优先遍历等
  • 最短路径算法
  • 滑动窗口
  • 动态规划
  • 链表相关
  • 多维数组合成一维

原文地址:https://www.cnblogs.com/Grewer/p/15201668.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如果组件之中有复用的代码,需要重新创建一个父类,父类中存储公共代码,返回子类,同时把公用属性...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例如我们的 setState 函数式同步执行的,我们的事件处理直接绑定在了 dom 元素上,这些都跟 re...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom 转为真实 dom 进行挂载。其实函数是组件和类组件也是在这个基础上包裹了一层,一个是调...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使用,可能是不了解。我公司的项目就没有使用,但是在很多三方库中都有使用。本小节我们来学习下如果使用该...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接触 react 就一直使用 mobx 库,上手简单不复杂。
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc 端可以使用分页进行渲染数限制,在移动端可以使用下拉加载更多。但是对于大量的列表渲染,特别像有实时数据...
本小节开始前,我们先答复下一个同学的问题。上一小节发布后,有小伙伴后台来信问到:‘小编你只讲了类组件中怎么使用 ref,那在函数式组件中怎么使用呢?’。确实我们...
上一小节我们了解了固定高度的滚动列表实现,因为是固定高度所以容器总高度和每个元素的 size、offset 很容易得到,这种场景也适合我们常见的大部分场景,例如...
上一小节我们处理了 setState 的批量更新机制,但是我们有两个遗漏点,一个是源码中的 setState 可以传入函数,同时 setState 可以传入第二...
我们知道 react 进行页面渲染或者刷新的时候,会从根节点到子节点全部执行一遍,即使子组件中没有状态的改变,也会执行。这就造成了性能不必要的浪费。之前我们了解...
在平时工作中的某些场景下,你可能想在整个组件树中传递数据,但却不想手动地通过 props 属性在每一层传递属性,contextAPI 应用而生。
楼主最近入职新单位了,恰好新单位使用的技术栈是 react,因为之前一直进行的是 vue2/vue3 和小程序开发,对于这些技术栈实现机制也有一些了解,最少面试...
我们上一节了了解了函数式组件和类组件的处理方式,本质就是处理基于 babel 处理后的 type 类型,最后还是要处理虚拟 dom。本小节我们学习下组件的更新机...
前面几节我们学习了解了 react 的渲染机制和生命周期,本节我们正式进入基本面试必考的核心地带 -- diff 算法,了解如何优化和复用 dom 操作的,还有...
我们在之前已经学习过 react 生命周期,但是在 16 版本中 will 类的生命周期进行了废除,虽然依然可以用,但是需要加上 UNSAFE 开头,表示是不安...
上一小节我们学习了 react 中类组件的优化方式,对于 hooks 为主流的函数式编程,react 也提供了优化方式 memo 方法,本小节我们来了解下它的用...
开源不易,感谢你的支持,❤ star me if you like concent ^_^
hel-micro,模块联邦sdk化,免构建、热更新、工具链无关的微模块方案 ,欢迎关注与了解
本文主题围绕concent的setup和react的五把钩子来展开,既然提到了setup就离不开composition api这个关键词,准确的说setup是由...
ReactsetState的执行是异步还是同步官方文档是这么说的setState()doesnotalwaysimmediatelyupdatethecomponent.Itmaybatchordefertheupdateuntillater.Thismakesreadingthis.staterightaftercallingsetState()apotentialpitfall.Instead,usecom