阿里、得物、涂鸦、途虎面试心得(二)
之前在 2021-08-17-阿里、得物、涂鸦、途虎面试心得 里说了面试的考点,这篇主要是讲面试官,个人认为一个好的面试官应该是按照简历展开面试,针对简历上的技能点来展开,这样能从面试者最熟悉的点切入,由浅入深全方位的考量一个面试者
得物一面男
看打扮就明白不是组长级别的,后得知是同事面,问了比较详细,从简历上的种种到部署,可以看出是个面试生手,因为一个熟手不会像他这样一直问一些技术点,生怕我不会一样
得物二面男
是个 30 多岁的说话比较快、发音不标准的男人。和他对话后,我不太喜欢在他底下做事。他会问一些开放型的题目,比如他们要用微前端(我只知道这个技术,但没用过),问我为什么要用微前端,我针对微前端展开,说了几点。他不满意,说微前端最好的好处是方便运营人员,避免他们在两个系统里跳来跳去。惊了,原来是让我跳出程序员的思维,早说,后面就引着这个思路乱说,到现在一个问题印象也没有,因为大多数在临时起意胡说的
涂鸦电话面(女)
我当时有点傻,去了涂鸦上海本地,明明是电话面试,竟然没注意到,去了之后没前台,联系 HR,说是约电话面,ok,我蠢。到楼下看有没有充电宝,电不到 20%,找不到出门找全家,没想到电话来了,让我自我介绍,左右为难下回到大楼坐在沙发上打电话
与她交流,能看出她的实力,她是个很会抓知识点的面试官
开始讲针对项目中登录的问题,简单交流,后续只见她问
她问:“你们怎么做到锁单,就像用户进去下单页后,点击下单后锁单,你们怎么做?“
我说:后端会把这个用户 id 和商品 id 关联锁住,(我知道她想考前端要做什么事情)前端方面会在请求点击后就把按钮置灰并让他不能点击,而且还可以通过防抖、节流优化
她问:“那这个场景是用防抖还是节流?”
我想了想说:“节流”
她说:“那你能手写一个节流吗?“
我无语了,我 TM 都在准备手写节流,让我口喷,怎么喷,吞吞吐吐下说的很差,但说到几个关键字
function debounce(func, wait, flag) {
let timer = null;
if (timer && flag) {
return function (...args) {
timer = setTimeout(() => {
func.apply(args);
}, wait);
};
}
return function (...args) {
timer = setTimeout(() => {
func.apply(args);
}, wait);
};
}
PS:差不多就是上面的回答,错的,错的,错的
她说:ok,你回答里说到三个点,你能说说三个点是什么吗?
我说:展开运算符,他的用法是能让数组的值展开
她问:除了数字,还能展开哪些数据类型
我开始不知道了,没想到 ES6 还有这么多讲究,我胡扯到 String 类型,Object 类型
她说:String ?你确定吗?
我怂了,这个知识点我不知道
她问你刚才说的 setTimeout 中用箭头函数,你能说说箭头函数与普通函数的区别吗?
这个题在得物二面的时候就问到了,我回答
阿里面试官
与他聊天更像是在与监考老师打交道
阿里:我先问你几个 CSS 方面的问题
我:好…
阿里:我再问你几个 React 方面的问题
我:巴拉巴拉
阿里:最后问你一个 JS 方面的问题
我:
途虎面试官
react 方面
this.setState
异步还是同步?
出题 class C
其中有 promise
链式调用
出题 链式调用
简单化的 链式调用
了解 Fiber 吗
说完 fiber 后,是多了调度器
调度的顺序是如何?
谁的优先级在前,谁的优先级在后
最后一个问题
性能优化怎么做
我说从工程方面讲,webpack 的打包
从 React 方面讲,有 React.memo 、React.useCallback 等代码优化的点
从 网络方面考虑,做 缓存 机制
这里说了下强缓存、协商缓存
又问我图片懒加载怎么做
不知道?
引导
通过图片本身距离顶部的距离,通过监听 scroll …