整理资料看到之前的面试记录,发出来一下,希望能帮到大家。
谷斗科技(工业互联网创业公司),前端技术一面;
面试官是个年轻小哥,非常温柔、nice,听声音大概是比我大两三岁的样子;
下面是问题(持续将近一个小时):
1.var a = b = c= { key: { value: '456'};
说一下这段代码的执行过程。(尤其赋值顺序)
2.a==ca===c, 根据题1,说一下这两句的结果(true/false)
3.b.key = { key: 123 },执行这段代码,第一题的a和c会发生什么变化
解答,a 、b、 c指向的是一个对象,指向的都是同一个地址,b修改了对象,a、c打印出来的话,其实也是改变后的值。
4.如果就只是想修改b,而不影响到a、c,该怎么做?
面试官解答:可以考虑拷贝
5.深浅拷贝有什么不同?
6.JS中深拷贝,有什么快捷的API能快速实现?
parse 和stringify()
7.stringify() 进行深拷贝有什么危害?
8.事件循环机制
9.异步请求变成同步请求,有什么方法?
10.vue你学的是2还是3,学到什么程度,TS你会用吗,node了解吗
11.vue父组件传一个对象给子组件,在子组件改变了对象其中一个key对应的value,父组件中的对象会改变吗?
面试官解答,会改变,原因参考上面第3题;
12.V-show 和v-if的区别
13.什么操作会引起回流、重绘,回流重绘的区别?
14.有一个操作会频繁地调用接口,怎么调整、优化?
面试官提示我,防抖,然后紧接着问防抖节流是什么,有何区别?
15.get请求和post请求的区别? 两种请求的请求参数是放在哪里?
16.sessionStorage 和LocalStorage的区别,存储大小有限制吗?
17如果浏览器缓存超过5M会怎么处理?
面试官提示,浏览器有一个数据库,indexDB
18如果你去设计一个智能推荐系统(类似抖音根据人的兴趣来推荐视频),你有什么设想、方案。
19 JS中的类你清楚吗?假如你开发一个英雄联盟游戏,请你设计一个类表示英雄,从抽象类 、继承角度考虑。
20代码题(把res转换成target,该怎么处理?)
var res = [ { date: '2020-01-01', a: 1 , b: 2, c: 3 }, { date: '2020-02-01', a: 21 , b: 22, c: 23 }, { date: '2020-03-01', a: 31 , b: 32, c: 33 } ] var filterKey = 'date'; 目标处理对象 target = [ { key: a, '2020-01-01': 1, '2020-02-01': 21, '2020-03-01': 31 }, { key: b, '2020-01-01': 2, '2020-02-01': 22, '2020-03-01': 32 }, { key: c, '2020-01-01': 3, '2020-02-01': 23, '2020-03-01': 33 }, ]
21,逻辑题
你有2个空杯子,一个5升容量,另一个6升,杯子没有刻度,在水龙头前如何接到3升的水?(通过接水,倒水实现)
22你对公司有什么想问的吗?
22.你的个人优势是什么?
23平时如何学技术?
24你如何理解内卷?
25我们公司周六上班,对此你有什么看法?