今天给大家分享一篇1年前端的社招面经,作者是去年毕业,今年3、4月在北京看新的工作机会,目前已上岸字节。
个人情况:
2021.6 毕业,本次面试为社招,坐标北京;技术栈主要是 Vue,所以 Vue 相关被问的多一些,React 很少;
记录一下最近遇到的面试题,按照面试题目的类型,做个归类划分:
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