【前端】字节-番茄小说 面经

1,518 阅读2分钟

一面

时长:45min

  1. 自我介绍
  2. OSI 七层模型
  3. TCP / UDP 在哪一层?各自的特点、不同?
  4. 拥塞控制机制讲一讲
  5. 盒模型有哪几种,区别是什么
  6. 编程题:两栏布局(要求不使用flex布局)
  7. 编程题:数组扁平化(flat)的实现
  8. 编程题:实现一个 Promise.all
  9. 算法题(easy):检查链表是否有环路
  10. 算法题(medium):LeetCode-695—最大岛屿问题

二面

时长:30min

  1. 聊项目
  2. 项目中的难题
  3. 小程序的架构了解吗?
  4. JSbridge 可以讲讲吗?
  5. JS 的运行机制
  6. React 了解吗?
  7. React diff 算法如何达到 O(n) 的?

三面

时长:90分钟

  1. 聊聊项目

  2. JS 实现一个带并发限制的异步调度器 Scheduler,保证同时运行的任务最多有两个。

    class Scheduler {
        add(promiseCreator) {}
        // ...
    }
    const timeout = (time) =>
        new Promise((resolve) => {
            setTimeout(resolve, time);
        });
    const scheduler = new Scheduler();
    const addTask = (time, order) => {
        scheduler.add(() => timeout(time)).then(() => console.log(order));
    };
    addTask(1000, "1");
    addTask(500, "2");
    addTask(300, "3");
    addTask(400, "4");
    // output: 2 3 1 4
    // 一开始,1、2两个任务进入队列
    // 500ms时,2完成,输出2,任务3进队
    // 800ms时,3完成,输出3,任务4进队
    // 1000ms时,1完成,输出1
    // 1200ms时,4完成,输出4
    
  3. importrequire 区别

  4. 智力题

    变色龙问题,参考:blog.csdn.net/qq_32657025…

HR面

时间:11min

  1. 上段实习做了什么事情?
  2. 实习过程中有什么收获?
  3. 实习过程和在校学习过程中觉得自己有什么不足?
  4. 来到团队后如何改进自己的不足?
  5. 每周能来几天?

面试感受

  • 面试感受良好,面试官态度温和友好,做不出来的题目会给充足时间思考并且加以引导。
    三面其实面得很一般,面完出了一身汗,最终还是过了!所以伙伴们,前两面是最关键的!三面考思维考深度!
  • HR处理速度也比较快,四轮用了两天。
  • 后续入职的话会放出内推码的哦~