Back to Bloginterview-experience

字节跳动商业化前端实习面试

By qiushuiJan 10, 2024Beijing
面试字节跳动前端实习商业化

背景

字节跳动商业化前端实习岗位的完整面试经历,经历了四轮技术面试,最终成功获得OC(Offer Call)。这次面试从基础知识到项目经验,从技术深度到个人规划,是一次非常全面的考察。

一面

面试特点

最基础的一集,但是也会深挖,好久没被问基础了

项目经验

1. 实习中最有挑战的问题

服务端渲染

2. SSR相关问题

JavaScript基础

3. JavaScript有哪些数据类型?

4. 数据类型判断

5. 如何判断数组?

6. 原型链

Vue相关

7. vue-router的两种模式及原理

浏览器相关

8. script标签的async和defer

CSS相关

9. 垂直水平居中

10. 块级格式化上下文(BFC)

代码题

11. 输出题

12. 事件循环题

13. 事件冒泡捕获题

14. 字符串格式化

字符串格式化题目
let str = `
1 2 4342    3 4 5
23 4
  4  5
`

// 期望输出
let ans = [[1,2,4342,3,4,5],[23,4],[4,5]]

二面

网络基础

1. 输入URL到页面展现的过程

2. 五层网络模型

3. TCP在哪一层?

4. TCP依赖于哪个协议?

5. 如何区别每一个进程?

6. 端口的作用

性能相关

7. 对首屏的理解,是哪段时间?

编程题

8. 实现一个repeat函数

repeat函数实现
let timeLog = repeat(2, 1000, console.log)
timeLog('hello world')
timeLog('ByteDance')

// 期望输出:
// 'hello world'
// 'ByteDance'
// 'hello world'
// 'ByteDance'

三面

项目经验

1. 实习中最有挑战、最有价值的事

Vue深入

2. Vue中比较核心的提高开发体验的点,讲一讲

3. 如果我声明了一个响应式数据但是并没有使用它,在它发生变化时会rerender吗?

4. Vue是在什么时候去做依赖收集的呢?

工程化

5. 在使用tree-shaking时需要注意哪些事情?

编程题

6. 字符串路径解析

字符串路径解析
let str = 'a.b.c'
resolve(str)

// 期望输出:
// {
//   a: {
//     b: {
//       c: null
//     }
//   }
// }

四面

个人经历

1. 为什么离职?

2. 之前面试没有通过的原因有复盘过吗?

3. 上一份实习时候有发现自己的不足,如何改进的呢?

4. 为什么学前端的呢?

项目经验

5. 上份实习有做过一些商业投放页的功能能讲一讲吗,有难点吗?

6. 上份实习学到了哪些东西?

职业规划

7. 以后的规划

8. 有在面其他公司吗?

9. 为什么拒了呢?

10. 对我们岗位的认识讲一讲

面试感受

面试轮次特点

一面:基础扎实

  • 重点考察JavaScript、CSS、Vue等前端基础
  • 虽然是基础题,但会深入挖掘原理
  • 代码题考察实际编程能力

二面:网络与工程

  • 网络协议和浏览器原理
  • 性能优化相关概念
  • 函数式编程思维

三面:框架深度

  • Vue响应式系统的深入理解
  • 工程化工具的使用经验
  • 复杂数据结构处理

四面:综合素质

  • 个人经历和成长反思
  • 职业规划和目标
  • 对岗位的理解和认知

注重基础但不止于基础

  • 基础知识要求扎实,但会深入原理
  • 不仅要知道怎么用,更要知道为什么

实际业务结合

  • 关注商业投放页等业务场景
  • 考察解决实际问题的能力

全面的人才评估

  • 技术能力、学习能力、沟通能力并重
  • 注重个人成长和职业规划

给后来者的建议

技术准备

  1. 基础要扎实:JavaScript、CSS、Vue/React等基础知识要深入理解
  2. 网络知识重要:TCP/IP、HTTP协议等网络基础是必考内容
  3. 算法能力:保持刷题习惯,提高编程思维

项目经验

  1. 深度参与:不要只停留在完成功能层面,要思考技术原理
  2. 业务理解:了解所在业务的特点和技术挑战
  3. 问题解决:积累解决实际问题的经验

面试技巧

  1. 诚实回答:不会的问题要诚实,但可以说出自己的思路
  2. 逻辑清晰:回答问题要有条理,先说结论再说原因
  3. 积极态度:展现学习能力和成长潜力

总结

这次字节跳动商业化的面试让我收获很多,不仅是技术上的提升,更是对自己职业规划的思考。

最终能够获得OC,我认为关键在于:

  1. 扎实的技术基础和深入的原理理解
  2. 丰富的项目经验和问题解决能力
  3. 清晰的职业规划和学习成长意识
;