一面之前大概几天整个人其实很紧张,复习了好几天,周二下午开始了,面试开始的时候,其实没有那么紧张了,就开始了面试之路,啦啦啦啦啦
Q:知道线程和进程吗
答:布拉布拉
Q:了解过js的数据类型吗
答:…说的挺完整的
Q:怎么判断是数据类型
答:typeof和instanceOf,布拉布拉
Q:说一下 == 和 === 的区别及用法
答:布拉布拉
Q:知道tcp和udp的区别吗
答:布拉布拉
Q:知道tcp的主要用途吗
说了一下tcp3次握手,其他就布拉布拉
.Q:看一下这个能不能弹出
if ("0") { alert( 'Hello' ); }
答:可以弹出Hello
.Q: for in 和for of的区别
答:因为忘了一些,就说了一下map和forEach
Q:那forEach可以打断吗
答:不可以,布拉,好像说的有些问题
.Q:了解那个深拷贝吗?大概说一下
答:说了一下递归的,手写了一个代码
Q:除了递归的还会其他方法吗,简单的两三行代码
答:emmm,不会了,还没有了解过
.Q:看一下这个打印的顺序
<form onclick="alert('form')"> <div onclick="alert('div')"> <p onclick="alert('p')"></p> </div> </form>
答:我就说这个应该是事件冒泡,p->div->form,也不知道对不对
Q:看一下这个题输出
let promise = Promise.resolve(); promise.then(() => alert("1")); alert("2");
答:先是2,再是1,布拉布拉
Q:关于promise主要用那些API
答:就之前用过then和promise.all
Q:那promise.all主要实现的功能是什么
答:布拉布拉布拉
Q:那它里面的promise是串行还是并行执行呢
答:并行的
Q:看一下这个继承的题吧
let animal = { jumps: null }; let rabbit = { __proto__: animal, jumps: true }; alert( rabbit.jumps ); // ? (1) delete rabbit.jumps; alert( rabbit.jumps ); // ? (2) delete animal.jumps; alert( rabbit.jumps ); // ? (3)
答:这个是true -》 null -》undefined
Q:用class重写一下这个函数
function Clock({ template }) { let timer; function render() { let date = new Date(); let hours = date.getHours(); if (hours < 10) hours = '0' + hours; let mins = date.getMinutes()