|流水线 自我总结|
2021.9.12(周日 + 百度一面挂)
百度一面挂难受了好久…… 后劲好大,然后听到大润发的声音很烦,非常难受
主要是挂就挂吧,别人40 50分钟 一小时,我这个20分钟就结束了,难受---> 两次百度的面试体验都非常差,找了下发现有同感的人实在不在少数QAQ.
他们只是为了赶效率而已
今天的主要问题:
1、不自信,知道自己只是在背八股文,但是,不知道为什么已经丧失了那种“凑数也要说几句的状态”,怕了很怕再问被露馅。
2、问题只给出一个解决方案,可以的话最好两种吧?
3、不应该回答不知道,应该起码,要先想一下,串起来更好,不行再说没什么思路
最重要的是:我表现出来的和我懂的并不一样
*我以为:又重写了个闭包问题哎,先把大框架铺好,名字随手写个debounce,
但是我表现出来的是:写了一半,前面就完了,这明显写的不对啊。
我是在一步步慢慢写,我很明白但我只是名字写错了,面试官就觉得我不太会 就开始引导说这里写个if了
【而且!明明只有一句话的时候完全可以不加if,还问,不加if吗】
【这个只是个人修养问题,没有表现出来不耐烦,虽然该挂还是要挂,上次的那个百度面试官是毫不掩饰的说的挂=_=】
这里差不多就已经pass了,可能他认为这个是比较基础的问题,加上百度的要求是比较高,大佬比较多,简历也不出彩。同时提问了怎么垃圾回收也不知道,基本就pass了,最后问了indexof,虽然写是写出来了,机会还是没把握住。不浪费时间,就挂了、。
*
更新:闭包这里的问题,确实,估计和那个timeout一样,觉得timeout需要回收,觉得我没回收。实际上clearTimeout只有提前扼杀的意思,timeout不必额外,联想到非常容易忘记,节流就用时间戳实现吧(这里估计印象非常差了,才gg)
有关回收的话:
根据测试,timer是分配一个随机数字id,clearTimeout后,timer的变量指向数字id还在, 只是定时器停止了。
把timer赋值为null,是为了释放内存,同时也方便布尔判断吧
实际上emmm,写了个timer=null是没问题的,不过,还是用使时间戳吧
(1)需要注意:now= + new Date()是默认进行了转换到数字,不然会是一串具体的字符串,也可以用new Date().getTime()也是时间戳,+是更方便记得是+不是+=
(2)
const throttle = (fn, wait = 50) => {
let previous = 0 // 上一次执行 fn 的时间
return function(...args) { // 将 throttle 处理结果当作函数返回
let now = +new Date() // 获取当前时间,转换成时间戳,单位毫秒
if (now - previous > wait) {
previous = now
fn.apply(this, args)
}
}
}
// 将当前时间和上一次执行函数的时间进行对比
// 大于等待时间就把 previous 设置为当前时间并执行函数 fn防抖 阻止一直弹跳
function debounce(fn) { // 4、创建一个标记用来存放定时器的返回值
let timeout = null;
return function() {
clearTimeout(timeout); //可以直接清除,反正下面也没写null
//if(timeout) clearTimeout(timeout); // 5、每次当用户点击/输入的时候,把前一个定时器清除
timeout = setTimeout(() => {
fn.call(this, arguments);
}, 1000);
};
}
// 6、然后创建一个新的 setTimeout,
// 这样就能保证点击按钮后的 interval 间隔内
// 如果用户还点击了的话,就不会执行 fn 函数简历上感觉应该写一下技能点?
其实我的项目也有点太简单了,怎么说,找不到发问的点,主动权就更不用说了。
归根结底不自信+自己掌握的不深,同样的知识和别人一起学也会忘得飞起…… 哎。。
姆待办任务
- 继续投递几家,现在才面9个不要慌,能多面就多面
- 腾讯如果可以一直捞就找找有什么办法继续捞
参考普通人逆袭大厂那篇,他差不多面了6 7轮次某厂,希望腾讯能捞一捞吧

美团公司福利 3017人发布