二面说一下从输入URL到渲染页面的过程项目介绍,吹了很久new 的实现写法,好家伙一面不是问了吗?for of 和 for in的区别我推荐看https://www.bilibili.com/video/BV18S4y1K75g/?spm_id_from=333.337.search-card.all.click,手写allSettled,我写的有两个问题,一个是闭包,一个是很隐蔽的问题function allSettled(promises) {   const results = []   return new Promise(resolve => {       for (let i = 0; i < promsies.length; i++) {           const promise = promises[i]           promise               .then(res => results[i] = res)               .catch(error => result[i] = error)               .finally(() => {                   if (results.length === promises.length) {                       resolve(results)                   }               })       }   })}第一个问题是const results = []这个东西是在Promise外面,所以有闭包问题,会造成内存泄漏第二个问题是finally内的if (results.length === promises.length) {    resolve(results)}如果用户传进来的promises是只有第一个和第100个有数据,比如说执行一下promises[100] = asyncTask这种操作,如果下标为100的先执行完,那results的length就直接100了,这时候就直接resolve是错误的,所以要改方法,也很简单,用个变量记录一下执行完的次数就行,这个问题我没有发现,是面试官告诉我的Map和Set,Map和Object的区别,WeakMap和Map的区别当时问我WeakMap的key是不是只能为Object类型,我说我忘记了,查了一下MDN:WeakMap 的 key 只能是 Object 类型。 原始数据类型 是不能作为 key 的(比如 Symbol)。为什么要在每个jsx文件里面写?import React from 'react'webpack和vite的区别,vite是怎么打包的?rollup在vite里面的作用是?webpack和vite热更新有什么区别?webpack热更新会编译所有文件再热更新吗?反问反问:进来后做什么工作对我的建议面试官说我不喜欢给人建议,但最后说我表现不错,准备第三面好家伙,刚说完十分钟就约三面了,明天下午
点赞 3
评论 1
全部评论

相关推荐

狸猫换offer:埋点都出来了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务