2021-03-20

面经:字节跳动

写在前面

  • 迟到了 3 个月的面经,我有罪 😭

当前状态

  • 已投递
  • 未录取

面试总结

一轮面试

项目相关

技术相关

  • CSS position 阐述

  • 怎么理解 HTTP is stateless, but not sessionless ?

  • 包围盒计算

Coding

  • Promise 代码阅读题
  • Promise 实现请求超时
  • 提取 url 的主域名
  • LIS

二轮面试

这轮面试比较新颖,面试官让阐述一个知识点后,就有准备相关题目(代码阅读/coding)

项目相关

技术问题

  • 阐述对 Web Worker 的理解

  • 阐述 Webpack 工作流

    • loader 和 plugin 区别
    • 对比其他使用过的打包工具,有什么区别
    • tree shaking
  • dependency dev-dependency peer-dependency 区别

  • 阐述一下 React-Hooks

    • React-Hooks 实现无限滚动列表
  • 阐述一下对 this 关键字的理解

    • 代码阅读

三轮面试

项目相关

技术问题

  • 阐述原型链
  • 阐述 JS 当中的继承

coding

  • 实现 instanceOf
  • 实现版本号排序
  • 实现三数之和

换组二轮面试

项目相关

技术问题

  • 实现不可变数据,谈谈 Immutable
  • 如何实现骨架屏,说说你的思路
    • puppeteer

coding

  • 函数 curry 化实现 add(1)(2)(3)(4)=10; add(1)(1,2,3)(2)=9

  • 请用算法实现:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    从给定的无序、不重复的数组A中,取出N个数,使其相加和为M。并给出算法的时间/空间复杂度,如:

    var arr = [1, 4, 7, 11, 9, 8, 10, 6];
    var N = 3;
    var M = 27;

    Result:

    [7,11,9], [11,10,6], [9,8,10]

换组三轮面试

没有问技术问题

  • 你觉得前面面的怎么样?
  • 能立即到岗嘛?

写在后面

  • 祝大家多多发财