【无标题】 | 您所在的位置:网站首页 › labview难不难学 › 【无标题】 |
文章目录
1. Vue组件通信?2.react中props和state相同点和不同点?3.CDN的特点及意义?4.什么是闭包,应用场景是什么?1.什么是闭包?2.应用场景
5. 介绍一下你对浏览器内核的理解?6. 如果需要手动写动画,你认为最小时间间隔是多久,为什么?7. 说说你对webSocket的理解?8.说说你对koa中洋葱模型的理解?1.我们先要了解什么是koa2.什么是洋葱模型。3.为什么需要洋葱模型?
9.说说你对@reduxjs/toolkit的理解?和react-redux有什么区别?1.reduxjs/toolkit理解1.reduxjs/toolkit的使用?
2.区别?
1. Vue组件通信?
组件间通信的分类可以分成以下 父子组件之间的通信 兄弟组件之间的通信 祖孙与后代组件之间的通信 非关系组件间之间的通信 关系图: 相同点: 不管是props还是state的改变,都会引发render的重新渲染。 都能由自身组件的相应初始化函数设定初始值。 区别: props是指组件间传递的一种方式,props自然也可以传递state。由于React的数据流是自上而下的,所以是从父组件向子组件进行传递;另外组件内部的this.props属性是只读的不可修改! state是组件内部的状态(数据),不能够直接修改,必须要通过setState来改变值的状态,从而达到更新组件内部数据的作用。 3.CDN的特点及意义?1.本地缓存加速:提高了企业网站(尤其是包含大量图片和静态页面的网站)的访问速度,大大提高了上述网站的稳定性。 2.镜像服务:消除了不同运营商之间互联瓶颈带来的影响,实现了跨运营商的网络加速,保证了不同网络的用户都能获得良好的接入质量 3.远程加速:远程访问用户根据DNS负载均衡技术智能自动选择缓存服务器,选择最快的缓存服务器加速远程访问。 4.带宽优化自动生成服务器的远程镜像缓存服务器。远程用户访问时,可以从缓存服务器读取数据,减少远程访问的带宽,分担网络流量,减轻原WEB服务器的负载。 5.集群抗攻击:广泛分布的CDN 节点加上节点间的智能几余机制,可以有效防止黑客入侵,降低各种D.D.o.S攻击对网站的影响,同时保证更好的服务质量。 4.什么是闭包,应用场景是什么? 1.什么是闭包?闭包就是一个函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure) 简单来说:闭包就是函数嵌套函数,内部函数可以访问外部函数的参数和值 在js中,每当创建一个函数,闭包就会在函数创建的同时被创建出来,作为函数内部与外部连接起来的一座桥梁 2.应用场景创建私有变量 延长变量的生命周期 倒计时,延迟调用,回调等闭包的应用,核心思想还是创建私有变量和延长变量的生命周期 一般函数的词法环境在函数返回之后就被销毁了,但是闭包会保存对创建时所在词法环境的引用,即使创建时所在的执行上下文被销毁,但创建时的词法环境仍然存在,以达到延长变量生命周期的目的 注意事项:如果不是某些特定的任务需要适用闭包,在其他函数中创建函数是不明智的,因为闭包在处理速度和内存消耗方面对脚本性能具有负面影响 5. 介绍一下你对浏览器内核的理解?浏览器的内核分为两个部分渲染引擎和JS 引擎 JS 引擎 是解析 Javascript 语言,执行 javascript语言来实现网页的动态效果。 渲染引擎 它负责取得网页的内容、整理讯息,以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。浏览器要渲染出网页给用户看,必须加载html编码和js脚本,渲染引擎渲染页面的UI和js执行引擎操作内存,就是浏览器的的重要组成“内核” 不同的浏览器厂商 使用的不同的内核,内核的程序代码量大,很难实现,所以只有规模大的厂商才有属于自己的内核 ,以下五个浏览器就有属于自己的内核: 1、IE浏览器:Trident内核,也是俗称的IE内核; 2、Chrome浏览器:统称为Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核; 3、Firefox浏览器:Gecko内核,俗称Firefox内核; 4、Safari浏览器:Webkit内核; 5、Opera浏览器:最初是自己的Presto内核,后来是Webkit,现在是Blink内核; 6. 如果需要手动写动画,你认为最小时间间隔是多久,为什么?多数显示器默认频率是60Hz,即1秒刷新60次,所以理论上最小间隔为1/60*1000ms = 16.7ms 7. 说说你对webSocket的理解?点击跳转 8.说说你对koa中洋葱模型的理解? 1.我们先要了解什么是koaKoa是一个精简的node框架,被认为是第二代Node框架,其最大的特点就是独特的中间件流程控制,是一个典型的洋葱模型,它的核心工作包括下面两个方面: 将node原生的req和res封装成为一个context对象。 基于async/await的中间件洋葱模型机制。 2.什么是洋葱模型。Koa的洋葱模型是以next()函数为分割点,先由外到内执行Request的逻辑,然后再由内到外执行Response的逻辑,这里的request的逻辑,我们可以理解为是next之前的内容,response的逻辑是next函数之后的内容,也可以说每一个中间件都有两次处理时机。洋葱模型的核心原理主要是借助compose方法 3.为什么需要洋葱模型?因为很多时候,在一个app里面有很多中间件,有些中间件需要依赖其他中间件的结果,用葱模型可以保证执行顺序,如果没有洋葱模型,执行顺序可能出乎我们的预期 9.说说你对@reduxjs/toolkit的理解?和react-redux有什么区别? 1.reduxjs/toolkit理解由于redux的各种规范与插件异常繁琐,所以官方推出了redux-toolkit这个库来简化redux的使用 1.reduxjs/toolkit的使用?一般我们用configureStore来创建一个状态管理器 其中reducer后面可以跟一个对象,对象中包含的是通过createSlice创建reducer,他会被redux的combineReducer一起添加到跟容器中 counterSlice.js:主要是定义状态和修改状态的方法 1.在createSlice中,我们没必要返回一个新的state,我们只需要改变其中的属性就可以函数返回一个对象,对象中含有actions和reducer属性 2.创建切片需要name属性来标识切片 3.需要初始状态值 4.需要一个或多个reducers函数来定义更新状态的行为 在组件中,我们最常用的两个api是useSelector, useDispatch 他是react-redux的方法 第一个方法用来取出状态,第二个方法用来取出修改状态的行为 组件中的异步 redux-toolkit 已经支持异步,其内部还有thunk插件,他是一个高级函数 2.区别?react-redux 是的官方 React UI 绑定层,允许您的 React 组件从 Redux 存储中读取数据,并将操作分派到存储以更新状态。 @reduxjs/toolkit 是对 Redux 的二次封装,开箱即用可的一个高效的 Redux 开发工具集,使得创建store、更新store |
CopyRight 2018-2019 实验室设备网 版权所有 |