不经意的一次投递,我收到了阿里的面试邀请,也好也不好,好的是这算是一次进入大厂的机会,不好的是我没有充分准备,一次不成功,要等半年才能再次尝试,当然结果是不好的。但还是把面试经历写一下,算是对失败的总结,也供大家参考类似的题目。
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.还有什么要问我的吗?没有的话,我们的面试就到这了,哦,对了,你为什么要离职?……你有要离职的同事吗?有认识的大牛要跳槽吗?给我介绍介绍呗……
一次面试就这么凉凉了,有点错失良机的感觉,因为面试官还是很好说话的,也不会给你压力,整体氛围还是轻松的,还是自己准备不足,题目没有很难,只是自己没有回答好。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。