导言
首先 , 总体来说 , 感觉面试官不按套路出牌呀。
题目首先, 我先来了一段平常的自我介绍.亏我自我介绍都准备一些(哎)
从 输入 ULR 到 页面渲染发生了什么 ?
这个还是常规操作,DNS解析
三次握手 ,四次挥手
TLS 是什么样的流程
http => https
HTML ,CSS 解析
接下来, 便问的比较 不按套路出牌啦。
这个时候问了我一个题目 , 好像是 和 回流有关:DomA.style.width = DomA.offsetWidth + 1 + 'px'
DomB.style.width = DomA.offsetWidth + 1 + 'px'
DomC.style.width = DomA.offsetWidth + 1 + 'px'
会触发几次回流 ?
我弱弱的说 , 应该是三次吧 , 既然节点大小重新改变了, 哈哈哈, 不确定。
然后又来DomA.style.width = 1px;
DomB.style.width = 1px;
DomC.style.width = 1px;
又会触发几次回流呢 ?
哎 , 感觉平时都没有关注这些 , 都说是会触发三次这个时候面试官叫我写一些常用的 数组的一些方法
我写了push
pop
map
reduce
reduceRight
sort
forEach
filter
然后问了一下 map 的使用方法 , 然后叫我 能不能自己写 一个 map 呢?
哎, 这应该是一个比较简单的题目 , 但我也没有写出来 , 可能是太紧张了吧 , 不知道。
事后想了一下 , 大概是这样的Array.prototype.mymap = function(callback) {
let res = [];
for(let i = 0 ; i < this.length ; i ++) {
let value = this[i];
let index = i;
res[i] = callback(value , index);
}
return res;
}最后这个题目 , 我前两天都还看到过 , 当时由于不是很理解 , 大概看了一下 , 结果问了 , 不出意外的没有做出来
题目是这样的 :实现一个 Promise.limit 函数出现的原因是 :
由于 Promise.all 虽然会并发上传 , 但是并不能控制并发上传的数量限制 , 所以要加一下这个功能
/**
urls : 图片url的数组,
k : 最大并发数
callback : 所以图片请求完成后的回调函数
*/
Promise.limit = function(urls , k , callback) {
}
好吧 , 之前我就遇到过 , 但是别人的答案 , 我怎么就是不太理解呢? 看不懂 , 所以结果可想而知最后一个还是正常题目
让我将一下平时 跨域的方式JSONP
随便说一下 JSONP 跨域的原理
CORS
设置 CORS 的头部字段
websocket
总结
根本原因肯定是代码写少了。
不过我还想吐槽一下 , 我看了大部分面经 ,咋都没有人只被问六个问题的 ,
你到底多问一点呀?
为啥子 我看到面经 , 就没有让人手写 map的呀。
说好的 , 手写 call , apply , bind 的呢 , 说好的 手写 Promise 的呢。 蓝瘦 , 香菇。
https://juejin.im/post/5ea85b705188256d4345e668