秋招字节前端面经分享
字节
一面(1h+)
- 项目
- react hook为什么不能放在if里面(×
- 浏览器的事件传播模型(默认的是哪一种模型)( √ ×
- 跨域( √
- 怎么做性能优化( √
- gzip怎么做的( √
- CDN原理( √
- webpack里面几个hash的区别(×
- CSRF是什么 怎么抵御( √
- JS 里面有三种创建对象的方式 区别( √
- 算法题 1. 二叉树的直径 2. promisefy
二面(1h10min)
- 项目
- react hook 不能放在 if 语句里面原因
- proxy跟Object.defineProperty的区别
- proxy可以拦截哪些行为
- 把对象属性设置为不可写的方法
- 项目难点
- 用户的手机里面它是一个APP,这 APP 怎么去跟这个服务器沟通?沟通完之后把资源拉下来,然后跑起来的?
- vue 有哪些性能优化的方案
- DIFF 算法还有虚拟DOM能提升性能,为什么
- 现在有一个容器,一个div,这 div 下面可能有很多节点,然后这 div 本身我只是修改了它的某个属性值,比如说修改了他的ID,那如果我没有虚拟DOM,我纯粹是那个手动去操作的话,那我可能就是把这个 DIV 的 ID 给改了就可以了。但是如果那个这个时候你用了虚拟DOM的话,按照虚拟DOM的判定算法就认为它不是同一个元素,他就会把这个 div 干掉,同时把它里面的所有的节点全部干掉,重新生成一次。那这种情况下你用虚拟DOM不会更慢吗
- 虚拟DOM解决了什么问题
- 写代码的过程中能做哪些性能优化
- 异步组件它为什么能提升性能 跟懒加载有什么区别 为什么能让页面更快
- 计算属性是怎么实现的 怎么知道他依赖了哪些属性
- 事件循环
....这面被文杰大佬薄纱(呜呜呜呜呜~~~~
字节
一面
个人介绍
- 介绍在小米的工作项目
- SSE(根据项目
- flex布局+使用(根据项目
- es6模块 与commonJS的区别
- 事件循环输入输出题
- 微任务宏任务举例
- promise有哪些方法
- 手写promise.all
- 前端安全场景
- React生命周期
- hooks为什么不能放在循环或者if(这个题目三个字节面试官问过)
- vue父子组件传输数据
- v-model 在vue2 vue3之间有什么区别
- vue2 vue3的区别
- 算法
- 贪心跟动态规划的区别 怎么选择(根据算法题问的
反问:
- 介绍业务
- 技术栈
二面(40min)
(没做记录 忘得七七八八了...)
移动端适配
性能优化
vue2 vue3 react之间有什么区别
虚拟DOM的意义
算法
三面(50+min)
个人介绍
- 什么时候开始学习前端
- 接触过的后端语言(JAVA)
- JAVA和JS的区别
- 用JAVA开发过的项目项目追问:JAVA项目里面的框架 数据库(没有框架登录怎么做的SQL查询语句JDBC怎么理解
- OOP介绍
- 怎么理解多态 举例 可以解决什么问题
- axios interceptor用来做什么
- element跟elementplus的区别
- 介绍一下小米的项目
- 实习收获
- 跨域怎么解决
- 怎么去做一个XSS攻击 拿到别人的数据
两个手写题
反问