Open into-piece opened 4 years ago
通过把数组中数字与最后一个数字对比分为三部分,左右部分再递归进行大小对比进行排序。
undefined、任意的函数以及 symbol 值,在序列化过程中会被忽略(出现在非数组对象的属性值中时)或者被转换成 null(出现在数组中时)。函数、undefined 被单独转换时,会返回 undefined,如JSON.stringify(function(){}) or JSON.stringify(undefined)。
udp:需要处理速度快,可以容忍丢包,如直播,实时游戏之类的
function unique(arr){ return arr.reduce((prev,cur) => prev.includes(cur) ? prev : [...prev,cur],[]); }
object的key只能是字符串,map的key可以是任何数据类型
Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适。
你可以通过size属性很容易地得到一个Map的键值对个数,而对象的键值对个数只能手动确认。很多方法都非常方便,has可以得知是否存在某个属性。
HTTP是不支持持久连接的,keep-alive只是把多个连接合并为一个。websocket是h5推出的一个是一个持久化协议,只要建立一次连接,就可以持续接收服务端发送的数据。
解决了HTTP轮询(得不到就一直请求)和long poll(发送堵塞直到得到数据返回)同步有延迟,消耗资源(HTTP是非状态性的,每次建立连接都是需要鉴别身份)
string number boolean null undefined object symbol bigint
new 运算接受一个构造器和一组调用参数,实际上做了几件事:
在promise中用回调数组保存then传入的回调,等待异步执行完毕后,resolve被调用执行then保存的对应的fullfilled回调或reject回调。
then = (successfunc: Func, failfunc?: Func) => { return new Promise((resolve, reject) => { try { if (this.status === PENDING) { successfunc && this.successCallbackList.push((v: any) => { setTimeout(() => successfunc(v)); }); failfunc && this.failCallbackList.push((v: any) => { setTimeout(() => failfunc(v)); }); } // 第二次第三次then的时候 状态已经改完成功或者失败 if (this.status === PENDING) { const res = successfunc(this.value); resolve(res); } if (this.status === REJECTED) { const res = failfunc && failfunc(this.value); resolve(res); } } catch (e) { reject(e); } }); };
洗牌算法
SSL和CA数字证书结合
https分为两个阶段,数字证书验证阶段和数据传输阶段。
整体来说 react 服务端渲染原理不复杂,其中最核心的内容就是同构。 node server 接收客户端请求,得到当前的req url path,然后在已有的路由表内查找到对应的组件,拿到需要请求的数据,将数据作为 props 、context或者store 形式传入组件,然后基于 react 内置的服务端渲染api renderToString() or renderToNodeStream() 把组件渲染为 html字符串或者 stream 流, 在把最终的 html 进行输出前需要将数据注入到浏览器端(注水),server 输出(response)后浏览器端可以得到数据(脱水),浏览器开始进行渲染和节点对比,然后执行组件的componentDidMount 完成组件内事件绑定和一些交互,浏览器重用了服务端输出的 html 节点,整个流程结束。
express 和 koa 的区别,洋葱模型 Express 和 Koa 最明显的差别就是 Handler 的处理方法,一个是普通的回调函数,一个是利用生成器函数(Generator Function)来作为响应器。往里头儿说就是 Express 是在同一线程上完成当前进程的所有 HTTP 请求,而 Koa 利用 co 作为底层运行框架,利用 Generator 的特性,实现“协程响应”,异步处理能力大大增强。
koa 没有内置router,view,给了社区很大的自由
如何实现一个画板,如何让画笔更流畅 如何实现扑克牌的反转效果 使用ajax下载文件 如何实现富文本编辑器 node 的模块能在浏览器中执行吗?
react hook 的理解和应用 node 多进程的通信方式 taro的原理 node 服务如何处理错误和异常 http1 和 http2 的区别 两数之和(数组内找出2个数的和值)
作用域,闭包 let var 区别,let 为什么能实现块儿作用域 js 处理代码的过程 react 生命周期执行过程 ,包括子组件 react setState 过 fiber 机制 diff 算法 http 请求过程 缓存机制的处理过程 vue 和 react 区别, koa 中间件机制,解决了什么问题
call apply 作用和区别
说说快速排序
通过把数组中数字与最后一个数字对比分为三部分,左右部分再递归进行大小对比进行排序。
实现随机颜色值
如何提升 webpack 的打包速度
json.stringify 需要注意什么
undefined、任意的函数以及 symbol 值,在序列化过程中会被忽略(出现在非数组对象的属性值中时)或者被转换成 null(出现在数组中时)。函数、undefined 被单独转换时,会返回 undefined,如JSON.stringify(function(){}) or JSON.stringify(undefined)。
tcp udp 的区别
应用场景:
udp:需要处理速度快,可以容忍丢包,如直播,实时游戏之类的
TCP 为什么是可靠连接
数组去重
object 和 map 的区别
object的key只能是字符串,map的key可以是任何数据类型
你可以通过size属性很容易地得到一个Map的键值对个数,而对象的键值对个数只能手动确认。很多方法都非常方便,has可以得知是否存在某个属性。
说说websocket
HTTP是不支持持久连接的,keep-alive只是把多个连接合并为一个。websocket是h5推出的一个是一个持久化协议,只要建立一次连接,就可以持续接收服务端发送的数据。
解决了HTTP轮询(得不到就一直请求)和long poll(发送堵塞直到得到数据返回)同步有延迟,消耗资源(HTTP是非状态性的,每次建立连接都是需要鉴别身份)
基本数据类型有哪些
string number boolean null undefined object symbol bigint
new 一个对象的过程
new 运算接受一个构造器和一组调用参数,实际上做了几件事:
promise 原理 ,then 实现
在promise中用回调数组保存then传入的回调,等待异步执行完毕后,resolve被调用执行then保存的对应的fullfilled回调或reject回调。
eventloop 机制介绍
async wait 机制
bfc 块级格式上下文
缓存和强缓存
洗牌算法
https 原理
https分为两个阶段,数字证书验证阶段和数据传输阶段。
react 性能优化
express 和 koa 的区别,洋葱模型 Express 和 Koa 最明显的差别就是 Handler 的处理方法,一个是普通的回调函数,一个是利用生成器函数(Generator Function)来作为响应器。往里头儿说就是 Express 是在同一线程上完成当前进程的所有 HTTP 请求,而 Koa 利用 co 作为底层运行框架,利用 Generator 的特性,实现“协程响应”,异步处理能力大大增强。
koa 没有内置router,view,给了社区很大的自由
如何实现一个画板,如何让画笔更流畅 如何实现扑克牌的反转效果 使用ajax下载文件 如何实现富文本编辑器 node 的模块能在浏览器中执行吗?
react hook 的理解和应用 node 多进程的通信方式 taro的原理 node 服务如何处理错误和异常 http1 和 http2 的区别 两数之和(数组内找出2个数的和值)
作用域,闭包 let var 区别,let 为什么能实现块儿作用域 js 处理代码的过程 react 生命周期执行过程 ,包括子组件 react setState 过 fiber 机制 diff 算法 http 请求过程 缓存机制的处理过程 vue 和 react 区别, koa 中间件机制,解决了什么问题