前端面试前,复习大纲

把前端面试时,容易被问到的几个点做一下梳理,一些零碎的细枝末节就不说了。以后面试时也有个准备的方向。
许多问题,如果面试官换个方式问,你要明白他到底要考什么,如果不清楚,可以再问一遍。

js 相关

优化

节流、防抖、......
前端优化

闭包

闭包

节流防抖

节流防抖

promise

promise

事件流

换个方式问:事件的触发机制是什么,事件的触发原理是什么?
事件流,也叫事件模型

发布订阅模式和观察者模式 ???

观察者模式和发布订阅模式的区别
高版本浏览器的自定义 事件

this的指向问题

有关 this 指向问题总结

判断数据类型的方法有哪些?

检测数据类型的几种方法

react 相关

react 的渲染机制

换个方式问可以是:

  • 为什么 react 渲染 DOM 比较优秀?
  • react 和直接操作 DOM 谁比较好。
    这类问题其实就是问 Virtual DOM 和 Diff算法

react hook

  • 为何要将 useState 写在最上面?
    因为用它定义的状态和改变状态的方法会被下文使用到,写在上面,防止获取不到。
  • 你使用过的 hook 有哪些,他们的作用是什么?
  • react hook函数式编程的优缺点:
    1. 好处: 代码清晰、简洁、更容易复用代码。
    2. 缺点:不擅长异步。(比如说:useState 是一个异步操作,且没有回调函数。在开发中有时候会拿不到最新的state。此时,1.可以通过参数的方式进行传递。2.使用 useEffect)

react 的数据传递

基础题,就是问父子之间的数据传递,往往会由此过渡到 redux,及其中间件的使用。

react-router原理

简单回答:监听url变化或者重写push.history,在重写的函数里增加回调。这样就能在url变化的时候获取url,解析url,匹配路径所对应的组件,展示他。

redux

  • 实现原理(或者说实现流程,都是一个意思)
    • 首先是dispatch一个action。然后reducer会收到这个action, 根据这个action对状态state进行修改。状态修改以后会被处理容器捕捉到。从而对相关的界面进行更新。
  • 中间件thunk
    • 作用:通过中间件 thunk 可以让程序员在 action 中调用接口。
    • 原理:Redux-Thunk 其实就是把 Store 中的 dispatch 方法重写了。如果 dispatch 的参数是正常的 Action,也就是说是个对象,那就直接 dispatch 它。如果参数是一个方法,那就传入 dispatch 和 getState 并执行它,而 dispatch 和 getState 是在 createStore 时以闭包的方式注入的。

react 优化

react 优化

vue 相关

我学过,但不怎么用vue

webpack 相关

webpack 优化

webpack相关面试题

零散的问题

问题1:对象能否是箭头函数,或者能否用箭头函数创建一个类,或者es6中的箭头函数是否可以使用new实例化?

箭头函数,没有prototype、没有自己的this指向、不可以使用arguments、自然不可以new,一new就报错。

问题2:函数表达式和函数声明的区别

问题3:作用域和变量提升

冷门题

  1. [xss漏洞](https://www.cnblogs.com/MrZhujl/p/14682348.html)
原文地址:https://www.cnblogs.com/MrZhujl/p/14602925.html