首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
TT4889
中国石油大学(华东) 安卓
发布于山东
关注
已关注
取消关注
@lxylxy_:
4.16 拼多多前端暑期实习二面(贼热乎被狠狠拷打版)
知道PDD面试官水平贼高,所以抱着学习和接受拷打的心态来面这场二面了,果然不出所料,问的很有深度,除去汗流浃背的感觉以外还是收获到很多东西的,复盘一下。基本全是场景题,考察设计,并且逐步深入完善。1.为什么选择前端2.有尝试过别的岗位吗,比如后端3.如果想要设置一个定时器,每隔五秒打印一个“hello world”如何实现(回答了setTimeout递归、setInterval、Promiose等方法)4.为什么setInterval定时可能不准确5.用递归的方式实现一下(这个写了个最基础的版本,很简单)function printHello() { console.log('Hello'); setTimeout(printHello, 5000);}printHello();6.这个setTimeout跟我设置一个setInterval这种方式去定时,在运行了很长一段时间之后会有什么差异(时间无限长,可能一年两年都行)? 复盘了一下,我觉得我回答的有问题,我是有提到setTimeout和setInterval的执行时机有区别的,但是好像在回答这个问题的时候没有get到面试官的意思。 应该是这样的:setTimeout是在你设置的时间之后才去执行要执行的语句(上一次的结束到下一次的开始是你delay的间隔),setInterval是不受你执行语句的耗时影响的(上一次的开始到下一次的开始是你delay的间隔)。所以重点应该是这个:当需要执行的语句耗时比较久的时候,可能会造成setInterval在某个时间点的某一次操作被跳过,大概是下面这个图:(表述可能不是很清楚,大家有兴趣可以看一下连接:https://blog.51cto.com/xuqin/949052)7.上面这种对精确性的影响在肉眼观察下是什么表现?8.对上面的代码优化,需要运行一段时间之后关闭定时器,怎么修改?let timer;function printHello() { console.log('Hello'); timer = setTimeout(printHello, 5000);}setTimeout(() => { clearTimeout(timer);}, 10000)printHello();9.上面这种没问题,如果换一种思路,不用全局变量来写呢?(这个就没做出来了,写了一半吧可能,但是有问题,这个问题想了很久)function printHello(delay) { console.log('hello'); let timer = setTimeout(printHello, 5000); function clearTimer() { if (timer) { clearTimeout(timer); console.log("clear"); } } setTimeout(clearTimer, delay);}printHello(10000);问题在于,使用局部变量之后,并不能够很好的清除定时器,并且我下来自己调试了一下,clear会打印两次。我觉得就是因为每次递归调用的时候都是独立的函数作用域,clear只能清除掉当前作用域的?希望有好兄弟指点,这个确实看了好久不太会。10.上面出现了两个问题,第一清除不掉,第二是不够灵活(在执行前就需要输入停止时间),想一下怎么修改。(这一块想了很久没想出来)11.第二个场景题:给了两个函数①const api = () => {},返回一个promise②const warning = () => {}发出一个警告现在需要对这两个函数进行封装,不需要改这两个函数,在调用api之后5s内如果没有拿到返回的promise,那就要调用warning。前面那个题没搞出来就影响后面的思路了,这个一开始想着怎么改这俩函数呢,后来说不用改,就写了下面的function handler() { let timer = setTimeout(() => { warning(); }, 5000) api().then(data => { clearTimeout(timer); console.log('success'); })} 12.上面的思路是对的,如果用原生的promise api来写怎么改进?(当时没想出来,说了用Promise.all或Promise.race。。其实应该用resolve、reject最好吧)复盘了一下大概是这个思路:function handler() { return new Promise((resolve, reject) => { api().then(() => { clearTimeout(timer); resolve(); }, () => { clearTimeout(timer); reject() }); let timer = setTimeout(() => { reject(warning()); }, 5000) })}function api() { return new Promise((resolve, reject) => { console.log("pending"); reject(); })}function warning() { console.log("warning");}handler().catch((err) => {});上面这种方法我试了一下应该没问题,可惜面试的时候没想出来13.Promise.all和Promise.race的话哪个更合适,区别是什么?14.websocket介绍一下,实际情况下什么时候用websocket?15.假设考虑一下降级方案,比如某些平台不支持websocket,怎么处理?16.短轮询和长轮询的区别?17.什么是虚拟DOM18.对比更新的时候什么时候会只更新属性,什么情况下会销毁重建?19.除了对比key以外,什么情况下会销毁重建? 其实想一下真的大部分是没有key的dom元素,但之前一直没想过这个问题,自己确实还是思考的太少了 回答到了比较key值,回答到了比较标签。具体如下: 可以看一下这篇博客,很全面:https://juejin.cn/post/7042221455618572296总的来说基础的方法都能答出来,但是深度不够,感觉是要凉了,继续努力啦
点赞 15
评论 5
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
02-16 10:57
SHEIN_HR(准入职员工)
网易互娱内推,网易互娱内推码
网易游戏-蛋仔派对-数据分析-已复盘自我介绍,重点讲讲你为什么想来游戏行业做一名数据分析师。某天发现《蛋仔派对》的日活跃用户比前一天断崖式下跌了 20%,如果交给你来分析,你的分析思路是什么?会从哪些方面入手排查原因?我们想通过优化新手教程来提升新用户的次日留存率,你会如何设计一个 A/B 实验来验证这个想法?在设计和分析过程中,需要特别注意哪些潜在的问题?你最近玩得最久或者最喜欢的游戏?你认为它在设计上最成功的一点是什么?如果让你用数据来证明你的观点,你会关注哪些数据?我们有一张玩家登录日志表(包含 user_id, login_time),请你说说计算次日留存率的 SQL 思路是怎样的?《...
点赞
评论
收藏
分享
02-18 18:08
电子科技大学 后端工程师
暑期实习,要来了!!
大家好,我是阿术。27届暑期实习马上就要开始了,大三/研二的同学可以准备起来了。现在找实习越来越卷了,好多得先有实习经历才给你面试,死锁了。我记得我当初找实习那会,焦虑的不行,因为实验室搞的东西和笔试面试中需要的完全不一样,算法、八股,什么的要学,手忙脚乱的。但好在结果是好的,从二月到五月,三个月的拷打换来了蚂蚁和阿里云的暑期实习offer。根据我以及很多同学的经验,发现大家在找暑期实习的都会有一些困惑,比如,暑期实习时间线—投递什么时候开启,什么时候结束,什么时候去实习准备到什么程度可以投递投递渠道有哪些暑期实习时间线暑期实习一般是从二月底开始,三四月份的时候大部分公司都已经开启了,一般可以...
点赞
评论
收藏
分享
01-09 00:05
门头沟学院 数据分析师
我找到实习了,但可能被开除
我的情况有些特殊985天坑专业,今年大三,拿到北京小厂offer,我是这个公司里第一个数据分析岗,也就是说没有人带我。所以想找一个培训机构或者求职陪跑,以我目前的情况来说,不管是以后转行好就业,还是单单为了保住这份实习(工资每月盈余大概2000,转正后盈余3500,跟老板谈的长期实习,可以在这干一年半,毕业直接入职的那种),我是不是需要报一个培训机构或者求职陪跑,大家有过相关经历吗
不敢追165女神:
不要信老板画的饼
一句话证明你在找工作
点赞
评论
收藏
分享
02-17 08:33
蚌埠坦克学院 嵌入式软件开发
影石-嵌入式软件开发-二面
1. 详细介绍一下你在热成像项目或车库项目中的技术架构和你负责的模块?答案:系统整体架构:硬件平台、操作系统选型、模块划分个人负责模块:具体功能、技术难点、解决方案模块间通信机制:IPC方式、数据流设计性能指标:帧率、延迟、资源占用遇到的问题和优化经验2. 如何设计一款运动相机的嵌入式软件架构?需要哪些核心模块?答案:硬件抽象层:Sensor驱动、ISP控制、编解码器接口媒体处理层:视频采集、图像处理、编码、存储算法层:防抖(EIS/OIS)、HDR、降噪、畸变矫正系统服务层:电源管理、热管理、文件系统、网络服务应用层:模式切换、参数配置、WiFi控制、APP通信中间件:多媒体框架(GStre...
查看16道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
嵌入式应届生春招怎么准备——从零到拿 Offer 的系统攻略
772
2
...
关于租房
434
3
...
27届实习近一年的年度经历和总结
381
4
...
HTTP 和 HTTPS 区别
367
5
...
agent实习都干什么?prompt设计
257
6
...
美团推荐算法一面
203
7
...
得力嵌入式工程师 二面 面经
195
8
...
这个简历可以去找暑期实习了吗
190
9
...
大三无实习
188
10
...
27前端双非找实习
171
创作者周榜
更多
正在热议
更多
#
牛客新年AI问运
#
13922次浏览
168人参与
#
你最讨厌面试被问什么
#
1242次浏览
26人参与
#
牛客AI体验站
#
17867次浏览
302人参与
#
有转正机会的小厂实习值得去吗?
#
554次浏览
18人参与
#
牛友们,签完三方你在忙什么?
#
137381次浏览
993人参与
#
担心入职之后被发现很菜怎么办
#
282502次浏览
1185人参与
#
如何缓解入职前的焦虑
#
258860次浏览
1451人参与
#
校招第一份工作你干了多久?
#
139393次浏览
609人参与
#
去年的flag与今年的小目标
#
34285次浏览
337人参与
#
牛客租房专区
#
151414次浏览
1479人参与
#
秋招开始捡漏了吗
#
229459次浏览
1044人参与
#
九月了,是考研还是就业?
#
89285次浏览
556人参与
#
秋招投递攻略
#
268791次浏览
2553人参与
#
这份实习,有没有动摇过你的职业方向?
#
2178次浏览
39人参与
#
搜狐工作体验
#
4118次浏览
29人参与
#
机械人求职现状
#
33641次浏览
297人参与
#
我是XXX,请攻击我最薄弱的地方
#
61780次浏览
409人参与
#
用友工作体验
#
18083次浏览
151人参与
#
你的工资什么时候发?
#
57472次浏览
355人参与
#
你的实习什么时候入职
#
348078次浏览
2291人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务