发个面经,攒攒人品昨天面的,答的不好,实在是空窗期太久了,太久没面试了,中间只做了笔试和测评,导致丧失了很多对自己的水平认知发现八股还是有很多地方只停于表面的,一旦深入问就不知道了,实习经历的准备也不够,就像这个微信推送,我只知道前端要做什么,却没有梳理好完整的链路,还得继续努力啊!1.具体在做小程序的什么?(我在实习中提到【公告通知】这个功能)2.微信订阅消息推送的链路,用户怎么收到推送的?想了解用到什么协议3.get和post怎么理解?4.get和post在网络传输链路上有什么区别?5.小程序上也有url的长度限制吗?(上个问题我说到了get的url长度限制)这个限制是谁做的?6.简单请求和飞简单请求?7.自定义请求头是指什么?(上个问题我提到复杂请求可能是包含自定义请求头)8.get幂等,post非幂等,主要什么原因导致的这种区别?9.URI是指?(我提到uri,面试官说没有太理解到uri的概念)所有请求都一定是返回uri吗?10.get请求的默认缓存能力?11.浏览器缓存有磁盘缓存和内存缓存,这个了解吗?浏览器怎么控制这两个缓存空间?两个的主要作用?12.强缓存和协商缓存什么时候走内存/磁盘缓存?13.settimeout时间不准确的问题?14.setTimeout 与浏览器渲染帧率的关系?15.requestAnimationFrame怎么解决settimeout时间不准确的问题?16.async/await和promise怎么解决回掉地狱?两者有什么区别?17.两个数组相加在浏览器中执行结果:[1, 2, 3] + [4, 5, 6]?18.解构赋值通过什么触发的?解构赋值是什么?(这个问题是因为我上个问题做错了,我以为两个数组相加就直接是对应索引值相加,解释时提到【解构赋值】,所以面试官才问的)19.用var实现const,写伪代码即可20.实现promise.all