美团前端 实习一面

  • HTML的doctype有什么用
  • script和link标签的加载顺序
  • iframe有了解过吗
  • 行内元素水平垂直居中
  • innerHTML,innertext区别
  • 修改dom耗时?为什么
  • 重绘 回流
  • promise意义(回调地狱)
  • 回调和闭包

算法:

实现promsie执行队列。传入一个promise数组,每次只能同时执行三个任务,如何实现

class Scheduler {
  constructor(limit) {
    this.limit = limit;
    this.queue = [];
    this.curr = 0;
  }
  add(creator) {
    return new Promise((reslover) => {
      const thisTask = () => {
        creator().then(()=>{
          reslover()
          this.curr--
          if(this.queue.length>0){
            this.queue.shift()()
          }
        });
      };
      if (this.curr == this.limit) {
        this.queue.push(thisTask);
      } else {
        this.curr++
        thisTask();
      }
    });
  }
}
const scheduler = new Scheduler(3);

const addTask = (time, order) => {
  scheduler
    .add(() => {
      return new Promise((resolve) => {
        setTimeout(resolve, time);
      });
    })
    .then(() => console.log(order));
};

addTask(1000, "1");
addTask(500, "2");
addTask(300, "3");
addTask(400, "4");
module.exports = Scheduler;
  • 创建一个执行Promise任务的函数
  • 如果条件允许就执行,执行完后执行中任务数减减,并开启下一个任务的执行
  • 不允许就放到队列里面
  • 维护一个待执行的任务队列
  • 维护一个数字,表示当前有多少任务正在执行

#软件开发笔面经#
全部评论

相关推荐

查看9道真题和解析
点赞 评论 收藏
分享
base:北京time:6.7下午时长50min+官网投递了4天左右收到了电话,当时投了三个部门,只有这个部门给我发了面试邀请。欢迎各位群佬评论区交流讨论~问题:1. 自我介绍2. 项目拷打:问的比较深,问登录如何实现,我说用的Axios封装,token登录,让我仔细说说怎么封装的,然后又让我介绍什么是token,有什么特点,还说到cookie还有浏览器存储,让我介绍区别3. css3用过哪些?flex怎么实现,给我一个实例让我用flex如何实现4. 根据我的简历拷打技术栈,vue如何的响应式体现在哪里,如何实现的5. router的不同模式有没有了解过,问我用的是带井号的还是不带井号的,怎么用6. 出了一道this指向题,一个函数,有正常栈中的输出,还有settimeout,还有箭头函数内的,问我输出的内容7. 写题两道:(面试前看了不少帖子刷了不少题,但是这两道题之前没写过,当时真的很慌觉得自己要没了……)7.1 给一行URL,让我提取出服务器返回给客户端的结果数组(类似a:1,b:2这种,当时完全没get到题意,面试官引导说利用数组分割方法,最后发现URL里面有几个类似键值对的数组,把这些提取出来就可以了,最后我用了map方法,面试官说对,不过时间有限,这题就算没了……)7.2 还是分割数组的题,给一个数组和一个数字,数字是几就把数组几个分为一个新数组,最后输出新数组(想了半天没想到特别简便的算法,就两个循环暴力遍历了一下,然后时间有限面试官说让我后面自己验证一下,有佬知道这是在暗示我凉了吗……)8. 反问:主要问了问部门主要的技术栈,主要是做什么的,面试官给我讲了好多,也很详细(但我当时还沉浸在刚刚代码到底是写对了还是没写对,面试官的潜台词到底是什么,最后他讲的业务我根本没听进去几句……)面试官还是蛮nice的,一直在引导,一些我没接触过的问题也会给我耐心解答,不过中间有几次我想引导面试官来问我准备好的问题的时候他看我应该是掌握了就没让我讲,继续问别的了,导致整场面试下来感觉我之前押的题都没问,反而暴露了一些知识漏洞,感觉要凉呜呜呜紧接着第二天就端午节假期了,到现在一直还没信,不过官网的状态还一直停留在面试中,这里悄悄许个愿求团子捞捞#美团前端#
美团一面1006人在聊 查看9道真题和解析
点赞 评论 收藏
分享
2 4 评论
分享
牛客网
牛客企业服务