猫眼前端三面凉经
今天面完猫眼3面,3面都是电话面
一面
1. 请写出三栏布局,左右固定宽度300px,中间宽度自适应,整理高度自适应。尽可能多的方法实现
2.实现一个数组的去重,我说用Set可以实现,面试官有没有其他的,我就写了以遍历数组去重
3.写一个实现bind方法的方法,没有写出来
4.说一下this的指向问题,全局作用域下面在浏览器中指向window...
5.consetTimeout(()=> {console.log('bbb'); }, 0); console.log('ccc');怎么执行,为什么?js的宏任务和微任务
6.编程题
//callback promise //将一个回调函数改成promise var reayFilePromise = promisify(fs.readFile,fs); reayFilePromise('foo.json','utf-8').then((res)=>{},()=>{})
开始写错了,面试官提醒之后修改了
function promisify(fn){ return (args)=>{ return new Promise(resolve,reject){ let f = function(){ fn.apply(this,args)} } resolve(); } }
一面面完很崩溃,没想到过两天接到了二面面试
二面
1.如何批量插入li到ul中
2.如何点击某一个li弹出第几个li被点击了,尽可能多的实现方法
3.如何获取到某个dom中的html代码片段,用innerHTML,但是只能获取到其子元素中的html代码不带自身的html,
所以需要在dom上层加一个div父级
4.两个排序数组,a顺序,b逆序查找第n个大的数字,a,b中都有重复的数字
5.设计题
- 一个搜索框,用户输入太快,不断的请求服务器怎么办?节流
- 一个搜索框,用户属于,abcd,输入a会请求服务器数据,现在删除bcd,又会请求a的数据,如何实现只请求一次a
- a请求了result数据,输入b也请求一个result数据,异步请求不知道谁先到,如何判定获取到最新的b的数据
三面:
1.你觉得你哪些地方比较好,一二面面试官没有面到的?
2.一二面面试的哪些地方你觉得你做得不够好?
3.继续问一二面面试没有回答上来的问题
4.平时喜欢什么?我说羽毛球
5.实现一个羽毛球的积分函数,谁先赢得21球就结束本场比赛,当一个球员赢了21球,但是球员2和球员1的比分少于2分,
会再次比,直到两人比分相差2分,给你一个数组,1表示球员1赢,球员2输,-1表示球员2赢,球员1输,积分为 ‘ 1: 0 2:3’格式,
场次的积分和当前比分
我写完之后,面试管问程序有没有什么问题,然后我修改了一下,输出正确结果,面试又问没有什么问题。
6.对猫眼的了解
7.个人的规划
一首凉凉送给自己
望大佬指正