一面
- css基础,margin, padding百分比相对谁,margin穿透,行内元素的margin,padding等
- 变量提升
console.log(a);
var a = 0;
console.log(b);
let b = 0;
console.log(c);
function c() {}
- this问题,问了好几个this问题,建议把this的四种绑定搞懂,还有绑定例外情况
- 合并两个升序数组
- 封装fetch,使fetch可以传入延时时间
- 宏任务,微任务的打印顺序问题
二面
- get/set属性
- 说一下你看完你不知道的js印象比较深的地方
- js如何区分浏览器环境与服务器环境
- 为什么用typeof window === 'undefined’不用if(window === undefined)
- js常见的错误
- 哪种错误能被try/catch捕获
- 手写promise.all,如果传入的是普通数值怎么处理
- 自动生成十六进制随机颜色(我的方案,循环,每次生成一位)
- 有没有更简单的方法(生成0~FFFFFF)间的一个数,再转为16进制
- 怎么转16进制(写一个方法)
三面
-
var s = “abc”,s是基础类型还是引用类型
-
s是基础类型,为什么可以调用toString等方法
-
数组和链表有什么区别
-
数组底层是怎么实现的
-
如下图是一棵vue的dom树,修改3和4两个不同层级的dom,真实dom更新几次
-
你一面写过合并两个有序数组,那怎样合并多个有序数组(先两两合并)
-
你说的这种方法时间复杂度是多少
-
还有什么想问的吗