前排围观银牌大佬
点赞 1

相关推荐

时长1h,项目+八股+算法。最后算法有一点点问题,虽然没有全a出来但是面试官说总体还行,可能会有二面~复盘一下1.了解项目2.flowable的底层原理,流程推演过程3.vue-router多页面划分怎么实现4.哈希模式原理5.哈希模式和历史模式区别6.登录注册和权限怎么和路由做绑定7.项目别的亮点8.localStorage和sessionStorage9.还知道什么存储方式10.有比较系统的了解过性能优化吗11.如何量化页面性能,有哪些指标?如何计算(好像api说错了哈哈)12.performanceObserver?为什么有了performance还要有performanceObserver?(这个很新鲜啊,面试官大概给我讲了一下,学习了)performanceObserver是一种发布订阅模式,如果页面要持续监听performance就需要去轮询performance api,但是performanceObserver这种模式不需要这么麻烦。(具体的内容大家下来查查,我也去查查)13.事件循环14.事件循环输出题,很综合,见下图15.面试官解释requestAnimationFrame,很详细数据量大了,浏览器为什么会卡顿?只要代码执行量大就会卡顿。浏览器的一帧中,主线程会去执行事件循环,比如几毫秒执行宏任务,几毫秒清理微任务,剩下一些时间处理io或者推进新的任务,执行完之后就会执行requestAnimationFrame,这个既不属于宏任务也不属于微任务,只要一帧有空闲时间就可以去执行这个。但是当数据量大的时候,代码执行量比较大,执行比较慢,并且UI渲染也比较慢,因此JS线程阻塞了渲染线程,requestAnimationFrame执行的也比较慢,所以就有卡顿了。因此这个语句的执行可能在下图的setTimeout之前也有可能在后面,具体要看你当时的线程有没有被阻塞(具体内容后面梳理一下)算法题:给一个节点数组构成的树结构(不一定是二叉树),删除对应子树,结构举例如下[{id:1, parent: null},{id:2, parent: 1},{id:3, parent: 1},{id:4, parent: 2}]#拼多多##25届暑期实习##前端##我的实习求职记录##软件开发2024笔面经#
点赞 评论 收藏
转发
牛客网
牛客企业服务