# 八、海风教育

# 1.对 react 看法,它的优缺点

reactjs 是一套 javascript web 库,由 facebook 打造而成且主要用于构建高性能及响应式用户界面。react 负责解决其他 javascript 框架所面对的一大常见难题,即对大规模数据集的处理。能够使用虚拟 dom 并在发生变更时利用补丁安装机制只对 dom 中的 dirty 部分进行重新渲染,react 得以实现远超其他框架的速度表现。

  • 优点:
    • 1.react 速度很快: 它不直接对 dom 进行操作,引入了一个叫做'虚拟 dom'的概念,安插在 javascript 逻辑和实际 dom 之间,性能好
    • 2.跨浏览器兼容: 虚拟 dom 帮助我们解决了跨浏览问题,它为我们提供了标准化的 api,甚至在 ie8 中都没问题
    • 3.一切都是 component: 代码更加'模块化',重用代码更容易,可维护性高。
    • 4.单项数据流: 'flux'是一个用于在 javascript 应用中创建的单向数据层的架构,它随着 react 视图库的开发而被 facebook 概念化。 使用过程中遇到的问题,如何解决的
    • 5.同构、纯粹的 javascript:因为搜索引擎的爬虫程序依赖的是服务端响应而不是 javascript 的执行,预渲染你的应用'有助于搜索引擎优化'
    • 6.兼容性好: 比如使用 require.js 来加载和打包,而 browserify 和 webpack 适用构建大型应用。它们使得那些艰难的任务不再让人望而生畏。
  • 缺点:
    • 1.不适合单独做一个完整的框架

# 2.react 的理念是什么(拿函数式编程来做页面渲染)

react 不像 jquery,jquery 是我们想修改某一功能时,首先要获取该功能的 dom 元素,再去做相关功能的修改。而 react 是我想要那些效果,我就直接去做效果的修改。即用户所看到的 ui 界面是由 data 数据做为参数调用 render 函数(纯函数)作用的结果

# 3.JS 是什么范式语言(面向对象还是函数式编程)

# 4.koa 原理,为什么要用 koa(express 和 koa 对比)

# 5.使用的 koa 中间件

# 6.ES6 使用的语法

  • const:定义过的变量不能被修改,如果是对象的话,对象里面的值可以修改,不进行预解释。
  • let:不进行预解释,不能重复定义,块级作用域,if 里面定义的变量外面拿不到
  • 扩展运算符:
  • 箭头函数:没有 this,函数里面的 this 指向外面,不能用作构造函数
  • promise:解决回调地狱
  • genertor
  • 解构:

# 7.Promise 和 async/await 和 callback 的区别

# 8.Promise 有没有解决异步的问题(promise 链是真正强大的地方)

# 9.Promise 和 setTimeout 的区别(Event Loop)

# 10.进程和线程的区别(一个 node 实例就是一个进程,node 是单线程,通过事件循环来实现异步)

# 11.介绍下 DFS 深度优先

# 12.介绍下观察者模式

# 13.观察者模式里面使用的数据结构(不具备顺序 ,是一个 list)

上次更新: 2022/6/29 上午12:09:44