【秋招复盘】快手-前端-一面+二面+三面+HR面(已OC)
一面(1.5h)
- 自我介绍
- 介绍项目中写的通用表单方案,用代码大致复现一下
- 介绍项目中的数据映射方案,用代码大致复现一下
- url从输入到页面渲染发生了什么
- 怎么判断对象是否循环引用(weakmap,判断路径是否有交集)
- 什么是FPS,如果让你用js记录每秒执行了多少帧,你会怎么做?
- 函数柯里化,实现如下功能
add(1)(2).sum() //3
add(1)(2)(3).sum() // 6
// 写出上面要求以下扩展(因为我在sum的时候清空数组来解决闭包问题了)
const addOne = add(1)
addOne.sum() // 1
addOne.sum() // 1
- 实现并发池
const request = createRequest({max: 3})
for (let i = 0; i < 10; i++) {
request('/user').then(console.log)
}
二面(1.5h)
- 怎么学前端的,了解过哪些新技术
- 根据上面问题,我讲了jquery、vue、react、svelte、solid的比较(是我太自不量力了,被面试官吊打)
- var let相关的输出题
- 引用类型的reference和c++指针有什么区别
- var为什么会变量提升,let为什么这样设计
- var变量提升的时候,内部是怎么执行的
- 编程题:穿越沙漠 大致就是A,Z两个点,一个是起点,一个是终点,中间有很多的补给点,怎么样过才最安全(不是最短路径,得考虑两个补给点之间的尽量的短,而且短的路径尽量多)
- 针对博客问了一下session,讲了cookie、session以及jwt,最后问如果不用cookie和localstorage,怎么做校验,比如匿名用户
- 你觉得你做过最牛逼的事情是什么
- 如果你有一天成了技术大牛,你最想做的事情是什么
- 反问
三面(27min)
- 介绍了下简历里各个项目的背景
- 怎么学前端的
- 目前项目中遇到最难的东西是什么
- 工作中和学校做项目有什么区别,在能力要求上呢
- 给了我一个邀请码,使用他们内部的一个产品,5分钟时间,讲一讲使用体验,以及找1个bug
- 现在还在面哪些公司,哪里人,考虑北京的机会吗。
- 反问
HR面(40min)
问题比较常规,但是给我的感觉是对于你的每一个回答都会细挖追问,所以还是谨言慎行,吹牛的话没有太好的临场能力很难糊弄过去。
- 自我介绍
- 为什么选择考研
- 讲了下个人经历(从本科阶段到研究生阶段6年的学习生涯,除了考研备考期间,其他每一年做的事情基本上都深挖了一下)
- 在不同阶段怎么学习的
- 网易实习经历
- 用三个词来评价一下自己
- 为什么从计算机视觉转前端,以及为什么不选后端、客户端
- 手里有哪些机会,怎么考虑的
- 反问