快手一二三面hr面(已oc)
首先就来夸一波面试官,每轮面试官都很好,会和你友好的交流,帮你debug,还会给你写伪代码分析,面试体验拉满!
一面(一小时)
1.
var count = 10; function a() { return count + 10; } function b() { var count = 20; return a(); } console.log(b());2.
var a = [1, 2, 3, 4]; function set(a) { a = [5, 6, 7, 8]; } set(a); console.log(a); 追加,实现打印 a = [5,6,7,8]3.
const repeatFunc = repeat(console.log, 4, 3000); repeatFunc("helloworld"); // 每3秒打印一个helloworld,总计执行4次 function repeat(fn, count, timeout) { } 追加,换成使用promise实现4.
斐波拉契数列,用递归和dp实现
5.
二面(一小时)
实现promise.all 追加 p = Promise.resolve(); p.then(() => { console.log('res1') }) p.then(() => { console.log('res2') }) // code 2 p = Promise.reject(); p.catch(() => { console.log('rej1') }) p.catch(() => { console.log('rej2') }) // code 3 p = new Promise((res, rej) => { console.log(2); res(); console.log(3); }) console.log(1);6.
function add (a , b) { return a + b; } function curry(fn) { } const curriedAdd = curry(add); curriedAdd(1)(2); // 3
二面(一小时)
- 实习经历,问得很详细,把我写上去的需求各种问,然后根据你写的需求提场景题,直到我说不知道
- 链表相交:弄了两个写法map和双指针,然后又叫考虑有环的情况相交
- 项目其中的一个动效是怎么实现的;
- 项目中有个拖拽的功能,但是我实现拖拽效果不好,问我优化,手写一个拖拽可用伪代码。我写的太垃圾了,面试官自己手写了一部分慢慢和我分析逻辑和可以优化的点;
3.反问,给了很多意见,可以看出面试官真的很强,面试官说的老油子实现逻辑就好了,对于校招新人还是更加应该深入实践
hr面(四十分钟)
- 感觉前面的面试官咋样
- 实习解决了哪些问题,和后端怎么交流,和产品经理有冲突了怎么解决
- 实习学到了什么,生活和技术上都说一说
- 遇见最大的困难是什么
- 自己优缺点
- 在流程中还有哪些公司
- 反问