【字节社招】1年经验的前端面经记录

今天给大家分享一篇1年前端的社招面经,作者是去年毕业,今年3、4月在北京看新的工作机会,目前已上岸字节。

个人情况:2021.6 毕业,本次面试为社招,坐标北京;技术栈主要是 Vue,所以 Vue 相关被问的多一些,React 很少;

记录一下最近遇到的面试题,按照面试题目的类型,做个归类划分:

CSS相关:

JS 相关:

function a(){} 
a.name // "a"
const a = function(){} 
a.name // ES5中为"", ES6 中为 "a" 
window.a = function(){}
a.name // ES5中为"a", ES6 中为 "" 
const a = function b(){} 
a.name // "b" 
window.a = function b(){} 
a.name // "b" 
// 修改
a.name = '1111' 
a.name // 不变,还是"b"
const boy = new PlayBoy('Tom'
boy.sayHi().sleep(1000).play('王者').sleep(2000).play('跳一跳'
// 输出 
// 大家好我是Tom 
// 1s 之后 
// 我在玩王者 
// 2s 之后 
// 我在玩跳一跳
/**
 * 实现一个组合compose的方法,使其可以正确调用每个中间件
 *
 * 规定中间件写法:
 * function(val, next) {
 *    // 前置操作
 *    next(val + 1); // 触发下一个中间件
 *    // 后续操作
 * }
 */

function compose(...middlewares{

}

function add1(x, next{
  console.log('add1 before');
  next(x + 1);
  console.log('add1 after');
}

function add2(x, next{
  console.log('add2 before');
  next(x + 2);
  console.log('add2 after');
}

function output(x){
    console.log('output:', x)
}

const input = 0;
compose(add1, add2, (output) => {
  console.log('output:', output);
})(input);

/**
 * 输出:
 *
 * add1 before
 * add2 before
 * output: 3
 * add2 after
 * add1 after
 */

框架相关:

打包工具相关:

网络相关:

算法题:

面试官点评

整体而言,字节的三轮面试的考察范围很广,难度也稍微有点大。

原理性的题目比较多,css和js的基础问的比较多,打包工具和计算机网络也考察的很深,还有4道 LeetCode 的原题,虽然都是简单或者中等难度的题目,但在面试过程中如果紧张还是不太容易想到最优解。

最后

《前端面试题宝典》经过近一年的迭代,现已推出 小程序 和 电脑版刷题网站 (https://fe.ecool.fun/),欢迎大家使用~

同时,我们还推出了面试辅导的增值服务,可以为大家提供 “简历指导” 和 “模拟面试” 服务,感兴趣的同学可以联系小助手(微信号:interview-fe)进行报名。

原文作者:程序媛小灰

原文地址:https://juejin.cn/post/7088883914005184525