一面
- 问了实习的时间,做的什么项目。
- 代码题:合并两个数组
// 将['A1', 'A2', 'B1', 'B2'] 和 ['A', 'B']合并成 ['A1', 'A2', 'A', 'B1', 'B2', 'B']
console.log(1)
setTimeout(function () {
console.log(2)
Promise.resolve(100).then(function () {
console.log('promise')
})
})
let promise = new Promise((resolve, reject) => {
console.log(7)
resolve(100)
}).then(function (data) {
console.log(data)
})
setTimeout(function () {
console.log(3)
})
console.log(5)
- Vue中key的作用,如果不写会报错吗?
- 冒泡排序,优化一下。
二面
- 针对简历上的项目问了一下,说一下项目的亮点和难点。
- 项目里面为什么选择使用gulp,了解过gulp的原理吗?
- 项目的构建和打包的流程。
- 引入Vitest进行单元测试的目的,主要是测试组件哪方面的功能,具体怎么测试。
- 业务组件和基础组件的区别是什么?你这个项目里面封装了哪些业务组件?(到这里其实差不多已经是寄了,因为越说不会的地方越被抓着问,说到底还是自己太菜,老实回去搬砖了)
- 两道代码题幽默一下:
function foo() {
console.log(this.a)
}
var a = 1
foo()
let obj = {
a: 2,
foo
}
obj.foo()
const c = new foo()
function bar() {
return () => {
return () => {
console.log(this.a)
}
}
}
console.log(bar()()())
#前端暑期实习##字节暑期实习前端#