字节前端日常实习面经(3次技术+1次HR)
一、前端-一面(1h20min)
- 自我介绍。
- 深挖项目细节,OPPO项目问了实现流程、每个流程的实现细节、原理,中间穿插2-3个八股。华为云项目问了无极缩放怎么实现的 + 场景(用户快速缩放怎么办?答案:用防抖。如果1-2-3,应该用防抖直接发到3页面的请求)。问了半小时的项目。穿插八股:CSS布局方式、CSS隐藏元素方式。
- 操作系统方面:单核CPU进程切换(X),CPU流水线(X),进程共享内存、进程间通信方式。
- React 常用hooks函数。
- TCP为什么可靠?(拥塞控制、流量控制、重传机制、保证顺序机制、面向连接的)
- TCP为什么要进行四次挥手?
- ES6有哪些新特性?
- 引申出箭头函数this指向。
- 编程题:用两个栈模拟队列(实现 push、pop、count 三个API函数)。
- 反问。
二、前端-二面(1h)
- 自我介绍(没问项目)
- 浏览器事件循环
- 垃圾回收机制
- 算法题-洪水泛滥(Map+模拟即可解决)(LeetCode 1488. 避免洪水泛滥)
- 算法题-矩阵填色(遍历数组元素进行矩阵填色),返回最先完成一行或一列涂色的数组元素下标(Map+模拟即可解决)
- 浏览器-从输入URL到展示页面的过程
- 浏览器-如何解析渲染UI(或HTML)?
- 重排与重绘
- 反问
三、前端-三面(1h20min)
- 自我介绍
- 华为云项目中遇到较大的问题+怎么解决
- 项目是怎么安排分工的
- 项目具体效果、功能,因为简历上内容比较抽象
- 系统做出了哪些优化
- canvas与SVG在性能方面区别+优缺点(X)
- 为什么选择前端
- 平时一般怎么学习前端知识
- 觉得自己还有哪里需要提高
- 如果有两个机会,你会怎么选择
- 手写题:异步编程,利用Promise相关API(Promise.all)+async、await实现数组内元素的加法。实现功能后进一步优化(用递归实现多个加法的并发)。(加法功能很快就实现了,但是并发优化最后没写完,但是非常接近答案)
- 反问
四、前端-HR面(20min)
- 自我介绍
- 是保研还是考研(保研)
- 本科和研究生成绩排名
- 为什么选择前端
- 以前遇到较大的困难+怎么解决
- 导师放不放实习
- 能来实习多久
- 什么时候开始准备毕业论文
- 未来职业规划
- 目前实习offer情况,会怎么选择
- 反问。薪资情况。每天上下班时间。字节居然包一日三餐+下午茶。
最后决定去杭州字节飞书,1.26收到offer邮件,下周入职。
#晒一晒我的offer#