腾讯云智一面
我是一个在有压力下,完全处于fw状态的,不管多简单的题目,太难了,面完复盘立马写出!
- 开场简单聊一下
- 两道编程题,1. 重写Array.prototype.find; 2. f(1) = 1, f(2) = 2,f (3) = 3, n > 3时,f(n) = Sumi=3 到 n {f(i - 1) * f(i - 2)};
- 闭包和作用域链的区别
- xss,csrf原理和预防措施
- Promise,async await优缺点,捕获错误
- 浏览器缓存
- 构建工具(不会,没学过)
- 手撕没写出来,对我没兴趣,就问了这么多
- 自己面完后写的,
Array.prototype.find = function (callback, thisArg) {
var array = this;
for (var i = 0; i < array.length; i++) {
var res = callback.call(thisArg, array[i], i, array);
if (res) {
return array[i];
}
}
return undefined;
};
var getFn = function (n, memo) {
if (n === 1) return 1;
if (n === 2) return 2;
if (n === 3) return 3;
if (memo[n]) return memo[n];
let sum = 0;
for (var i = n; i > 1; i--) {
sum += getFn(i - 1, memo) * getFn(i - 2, memo)
}
memo[n] = sum;
return sum;
}
var n = 8,
memo = Object.create(null);
getFn(n, memo)



