- 体验极佳,只不过有点可惜,
- 最后两道简单的编程题写的不好,最后一道算法时间复杂度太高了。
- 应该是编程题没写好,导致没有三面了。除了可惜就是可惜
- 看来以后的路得更加努力,我还年轻,吃苦趁现在,愿等花开
一面面经:
1. 浏览器垃圾回收机制
2. for in和for of的区别
3. vue检测数组的变化
4. nextTick的原理
5. useEffect和userLayoutEffect的区别
6. node相关
7. 数据库相关
8. http头部
9. http和https的区别
10. web网络安全
11. 抛硬币问题
12. 函数柯里化(编程题)
13. 类防抖节流编程题
实现一个repeat方法,要求如下:
// 需要实现的函数
function repeat (func, times, wait) {},
// 使下面调用代码能正常工作
const repeatFunc = repeat(console.log, 4, 3000);
repeatFunc("hellworld");
//会输出4次 helloworld, 每次间隔3秒
二面面经:
1. 项目相关
2. http状态码
3. tcp和udp的区别
4. http里面的算法
5. iframe的缺点
1,会阻塞主页面的onload事件
2,即使iframe的内容为空,加载也需要时间
3,该元素没有语义,不利于seo
4,iframe框架页面会增加服务器的http请求,对于大型网站是不可取的。
6. 跨域及解决办法
7. webpack性能优化
8. call,apply,bind的区别
9. promise异步写答案
-
setTimeout(function() { console.log(1) }, 0); new Promise(function(resolve) { console.log(2); for(var i=0 ; i < 10000 ; i++) { if (i == 9999) { resolve(); } } console.log(3); }).then(function() { console.log(4); }); console.log(5);
10. this指向写答案
-
var length = 10; function fn() { return this.length+1; } var obj = { length: 5, test1: function() { return fn(); } }; obj.test2=fn; //下面代码输出是什么 console.log(obj.test1()) console.log(fn()===obj.test2())
11. Node.js读取文件
12. 算法编程题
500张骨牌整齐地排成一行,按顺序编号为1、2、3、……、499、500。第一次拿走所有奇数位置上的骨牌,第二次再从剩余骨牌 中拿走奇数位置上的骨牌,以此类推。请问最后剩下的一张骨牌的编号是?
13. 算法编程题
三数之和:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c的值与target相等?