应该是近期最后的面试总结了 等下次跳槽再记录吧
1、如何实现取消请求和取消 取消请求 的请求
这篇写的挺好的:前端取消请求与取消重复请求 - 掘金
2、http和https区别,混合加密具体过程
3、es6 对 面向对象 怎么理解
4、强缓存、协商缓存
5、图片懒加载怎么实现
6、垃圾回收算法?v8的呢?
7、js怎么实现继承?
8、vue路由怎么实现的
9、vue nextTick是什么,怎么实现的
10、vue中key是用来干嘛的
11、设计模式?
12、做过webpack优化吗?
13、map和object区别?
https://www.jianshu.com/p/94cf51649517
object键名类型只能是字符串、数字、symbol;map键名类型可以是任意类型
map键名可以重复,因为每次都是新开辟内存来存
map实现了迭代器,可用for...of遍历;object无默认迭代器
map可用size直接获取长度,object不行
填入map的元素,会保持原有的顺序,而填入object的元素key是自动按照字符串排序的
map可以使用省略号语法展开,而object不行
14、开放题:给两个玻璃球,从0-100层中某一层扔下去会碎,怎么确定是从哪层及以上扔会碎
15、讲下vue diff流程?
16、讲下vue template渲染流程
17、代码题,考察对作用域理解
var a=1
function f1() {
console.log(a);
}
function f2() {
var a = 2;
f1();
}
function f3() {
var a = 2;
return function () {
console.log(a + 2);
};
}
f3()();
f2();
4
1
18、 代码题
输入两个数字,返回以下格式数组
// 3, 4
// [[1,2,3,4], [5,6,7,8],[9,10,11,12]]
function create2demArray(num1,num2) {
let tempNum = 1
let a = new Array()
for(let i = 0 ; i < num1 ; i++) {
a[i]=new Array()
for (let j = 0 ; j < num2; j++) {
a[i][j] = tempNum
tempNum++
}
}
console.log('a?',a)
return a
}
19、position定位值有哪些,sticky值代表什么.....
20、瀑布流具体怎么实现
21、flex:1 啥意思,flex-basis啥意思
22、css写一个正方形,单位是百分比的(提示是用margin-top、padding-top之类?再看看
用px写:width:200px;height:20px
用vw,vh写:width:200vw;height:200vw;
padding-top/padding-bottom + 百分比宽度:padding-top:30%;height:30%
外层再嵌套一个div:position: relative;width: 20%;padding-top: 20%;
内层:position: absolute;width: 100%;height: 100%;top: 0;left: 0;z-index: 1;
利用aspect-ratio+百分比宽度:aspect-ratio: 1;width: 20%;
23、vite和webpack区别
24、http1.1和2.0区别。。。