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

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.还有什么要问我的吗?没有的话,我们的面试就到这了,哦,对了,你为什么要离职?……你有要离职的同事吗?有认识的大牛要跳槽吗?给我介绍介绍呗……

一次面试就这么凉凉了,有点错失良机的感觉,因为面试官还是很好说话的,也不会给你压力,整体氛围还是轻松的,还是自己准备不足,题目没有很难,只是自己没有回答好。


superMin
9 声望2 粉丝

在自己的行业内深耕