发面经攒人品
面试官人很随和就是我太菜啦他叫我下来多看看基础都是基础题
1.const let var 输入输出题
let a = 1
foo(a) a=a+1
var b = foo(a)
foo(a) a = a+2
const c = foo(a)
foo(a) a= a+3
console.log a b c
还有变体我忘了
记不得了没做出来
2.讲promise的原型链上的所有方法
重点叫详细描述promise.race和all
还有一个很长的记不到了我说我不知道
3.React hooks有哪些?用过哪些?
4.useEffect和uselayoutEffect的区别
5.写了一个组件题是useEffect和uselayoutEffect的问你输出。里面useRef了一个dom问能不能拿到div
6.问了三个还是四个个父组件和子组件传值的问题。
这里还问了一个很长的hooks我忘了,然后叫我手写问了好多细节真的抠细节
7.手写表单组件和input组件传值。聚焦
8.父组件怎么拿到子组件子组件怎么拿到父组件这样
9.问echarts和antv是怎么实现的
10.svg和canvas都是怎么用?你用过吗
11.svg和canvs的优缺点
12.为什么canvas性能好?
13.canvas怎么支持点击事件。我回答了一个问我还有没有其他的?从图形学上还有吗?我回答了碰撞检测算法还有啥忘记了
14.算法题:
大概意思就是给你一个数组,然后给一个目标值,然后通过这个数组里找其中两项的和等于这个目标,然后找出这两个数的下标。
我写的是这样:
function twoSum(numbers, target) {
const numMap = {};
for (let i = 0; i < numbers.length; i++) {
const complement = target - numbers[i];
if (numMap[complement]!== undefined) {
return [numMap[complement], i];
}
numMap[numbers[i]] = i;
}
return [];
}
15.然后反问我问他我怎么提升。她说多看看源码然后多做做输入输出题,因为我理论能背出来看题就懵了不要光背要理解题出题就小丑了
16.中间还问了好多我忘了