【2021秋招_前端】360一面 2020.10.14
1.自我介绍
2.react更新过程发生了什么,15和16的区别,fiber机制(requestIdleCallback)
3.react团队为什么不推荐在if...else中使用hook
4.用过哪些hook, useCallback和useMemo区别
5.useEffect的触发时机(无参数、[],[a,b]),在render前还是render后
8.font-size: 1em, width: 1em,分别是相对谁的
9.position: absolute相对谁的
10.如何跨域,同源策略,跨域与普通请求的区别(预检请求)
#前端工程师##360公司##校招##面经#
2.react更新过程发生了什么,15和16的区别,fiber机制(requestIdleCallback)
3.react团队为什么不推荐在if...else中使用hook
4.用过哪些hook, useCallback和useMemo区别
5.useEffect的触发时机(无参数、[],[a,b]),在render前还是render后
6.考察作用域,js中的作用域有哪些(块级、全局、函数),判断输出
var a = 1; function a(){} console.log(a); // 1 console.log(b); // [Function: b] var b = 2; function b(){} var d; console.log(d); // [Function: d] d = 2; function d(){} var c = 3; function foo(){ console.log(c); } function far(){ var c = 4; foo(); } far() // 输出什么,37.移动端怎么实现font-size:10px,用transform: scale()
9.position: absolute相对谁的
10.如何跨域,同源策略,跨域与普通请求的区别(预检请求)
11.算法:给一个有序数组,无重复元素,还有一个target值,找出target在数组中的位置,如果不存在该元素,返回在数组中插入元素的位置
function getPos(arr, target) { let l = arr.length; let i = 0, j = l - 1, mid; while (i <= j) { mid = parseInt(i + (j-i)/2); if (arr[mid] == target) return mid; else if (arr[mid] < target) { if (mid + 1 < l && arr[mid+1] > target || mid == l - 1) { return mid + 1; } else { i = mid + 1; } } else { if (mid - 1 >= 0 && arr[mid-1] < target || mid == 0) { return mid; } j = mid - 1; } } } let arr = [2,4,6]; console.log(getPos(arr, 5));