当前位置: 首页 > 面试经验 >

Zoom前端实习面经(已offer)

优质
小牛编辑
124浏览
2023-03-28

Zoom前端实习面经(已offer)

base合肥


一面 11.9 1h


体验很好,像探讨一般,自己说完面试官也会说自己的想法以及一些补充。



  1. 自我介绍

  2. 深入项目,问了好久

  3. JS实现继承的几种方式

  4. 闭包

  5. 作用域

  6. 发送请求的几种方式,还扩展了一种JSONP的,难顶

  7. 本地存储的几种方式,indexedDB相关

  8. 可访问性相关

  9. flex和grid布局,分别实现页面上面一整行,下面左右布局

  10. 如何在PC、Pad和手机端适配

  11. v-model实现原理,在Vue2和3中的区别

  12. 父子组件生命周期的执行顺序及原因

  13. data为什么是函数,根组件用不用

  14. Vue2和Vue3的区别


反问问了技术栈和实习生主要做什么,然后面试官说什么都可以问,实习生薪资也可以。。。


其中提到了zoomUI,我说我知道,黄轶老师的文章中提到过,面试官说,啊,他就在我隔壁。


我又问有没有转正机会,说得看公司政策,自己也不清楚,然后我没啥想问的了,结果面试官好像意犹未尽,还想让我问,哈哈。


二面 11.11 1h


二面两个面试官,其中一个是黄轶老师


主要是共享屏幕问项目相关的(咋都这么爱问项目),后面问了Vue2和3的区别,Vue和React的区别。


然后手写:


// 写一个 Task 类

class Task {
constructor() {
// coding here

}

add(fn, context, ...args) {
// coding here

}

run() {
// coding here

}

stop() {
// coding here

}
}

// 满足

function task1(next) {
setTimeout(() => {
console.log(1)
next()
}, 1000)
}

function task2(next, a) {
console.log(this.queue)
setTimeout(() => {
console.log(a)
next()
}, 1000)
}

function task3(next, b, c) {
setTimeout(() => {
console.log(b)
console.log(c)
next()
}, 1000)
}

const task = new Task()
task.add(task1).add(task2, task, 2).add(task3, task, 3, 4)
task.run()

// 备注:当任务函数执行 next 的时候,会跳转到下一个任务函数执行


最后另一位面试官问了git相关以及CI/CD。


面试体验很棒,跟两位面试官聊的都很开心。

#ZOOM##前端实习##面经#
 类似资料: