快手流程(三面挂)
一面:
1.自我介绍 + 项目
2.手写一个button组件
3.如何测试,jest测试
4.做一个form表单,两个数据项之间互相影响,例如:女-> 30-40,男 -> 20-30
5.两栏布局有哪些方法:margin, float, flex
6.react redux如何重新重置
7.什么情况下用useMemo,useCallback
8.react共享数据有哪些方法,什么区别
9.父组件如何调子组件的函数
10.axios发请求打点,拦截器
11.http状态码
12.强缓存,协商缓存
13.304的请求会发送给服务器吗?
14.webpack有哪些操作
15.webpack打包流程
16.什么情况下要拆分包
17.按需引入
18.npm包很多,构建时间很长该如何解决
19.webpack HMR
算法题:算术平方根
二面:
1.自我介绍
2.深挖项目
3.如果重来一次,你会注意哪些问题
4.hooks是什么
5.react是如何感知到数据发生变化的,什么时期监听
6.对未来的看法,第一份工作的规划
三面:
1.自我介绍
2.选择一个你觉得不错的项目展开说说,说了大概20分钟
3.现在需要你来做一个弹幕系统(类似于b站),从前端来看你需要考虑哪些问题
4.给出具体方案,使用技术,以及可能出现的问题,又该如何解决(这里聊了很长时间,早知道我就在b站多发发弹幕了,平时都是看别人)
5.如果在某一时刻,30秒内大量弹幕涌入,你该如何处理呢,(大量,表示当前的数据量,即便你铺满显示也显示不完整,该如何做呢)
6.如果是多行的弹幕,该如何控制用户的选择弹幕方式
7.flex-shrink
父组件:600px, 子组件A:500px flex-shrink:1 子组件B:400px flex-shrink:2
要求你来设计一个这个flex-shrink的缩小机制,该如何缩小,缩小之后又改如何铺满(这里我认为应该是看多出来的宽度,然后根据比例截取,但是当时面试脑袋反应不过来,一直在考虑如何设置比例,不知道怎么设置出来了一个7:2,面试官也没太纠结于这里吧,感觉可能是挂在这个地方了)
8.全排列,leetcode原题
反问:觉得我哪里不足:之前的面试官觉得你基础好不错,我觉得你缺少一些大厂的实习经历,你需要去那边看看,有人会有更优的解法。
ps:这里面试官的反问对我打击真的很大,虽然说看到了不足,但是感觉很打击人
#快手##挂#