乐趣区

关于前端:一次阿里巴巴高德的面试经历

不经意的一次投递,我收到了阿里的面试邀请,也好也不好,好的是这算是一次进入大厂的机会,不好的是我没有充分准备,一次不胜利,要等半年能力再次尝试,当然后果是不好的。但还是把面试经验写一下,算是对失败的总结,也供大家参考相似的题目。

1. 依据简历发问我的项目相干问题,比方:

 我的项目经验里提到了用 node, 他就问用 node 做我的项目跟用其余框架有什么不一样?某个我的项目里提到的技术点,就问这个技术点的应用办法?(注:好好看看本人的简历里提到的技术点,尽量做到简历里提到的能很纯熟的答复)

2. 说一下你印象粗浅或者胜利的我的项目经验

 肯定好好筹备这个我的项目经验,展现一下本人的实力。因为这个问题问的目标就是为了理解你技术的顶端在什么程度。

3. 用过的某个框架的劣势

 我我的项目里有写到用过 flutter,他问我,你感觉 flutter 跟其余比方 RN 有什么区别与劣势?(考技术总结与熟练程度)

4.component purecomponent 区别?

 这个没什么好说的,会就会,不会就不会。我不会!

5.react 中 setState 是同步还是异步,为什么?setState 之后做了什么,循环中 key 的作用,以及波及的 diff 算法原理。

 这个问题,会在你答复的时候,一连串问进去的,不肯定是面试官提前准备的,所以,还是要本人知识面全面零碎,这样,怎么问都不怕。

6. 箭头函数的特点,this 的指向,会写一段带有箭头代码让你说出打印的 this, 代码如下

const obj = {fn: () => {console.log(this);
   }
}

obj.fn(); // 说出打印后果 window

function fn() {obj.fn();
}

fn.call({b:1}) // 说出打印后果 window

7. 宏工作与微工作概念,写一段代码让你说出打印后果

setTimeout(()=>{console.log(1);
 Promise.resolve().then(()=>{console.log(2);
 });
 setTimeout(()=>{console.log(0)}, 0);
}, 0)

setTimeout(()=>{console.log(3);
 Promise.resolve().then(()=>{console.log(4);
 });
}, 0)
// 1,2,3,4,0

8. 函数柯里化,属于代码题,给你一个题目,手写出柯里化过程。

const sub = function(a, b, c, d) {return a+b+c+d;}
const subCurry = curry(sub);
sub(1,2,3,4) = subCurry(1)(2)(3)(4)
 
function curry() {}

9. 还有什么要问我的吗?没有的话,咱们的面试就到这了,哦,对了,你为什么要到职?……你有要到职的共事吗?有意识的大牛要跳槽吗?给我介绍介绍呗……

一次面试就这么凉凉了,有点错失良机的感觉,因为面试官还是很好谈话的,也不会给你压力,整体气氛还是轻松的,还是本人筹备有余,题目没有很难,只是本人没有答复好。这次面经写的仓促,最近有点忙,等闲下来再整顿一下。

退出移动版