前端春招面经回顾
字节
春招提前批
tips:字节最开始从2月就开始面试了,面到三面,一直探讨promise,然后中间投递了其他部门,穿插反复的折磨我,太难了。对于跨考算法基础薄弱的同学。一定要刷题并且实践。秋招继续冲~
一面
1.手写promise 及它的all race any
2.跨域解决 手写一个jsonp
3.手写一个promise 4.协商策略协商过程
5.过期时间设置
6.cookie的具体保存什么
7.401 403 402 502 304
8.怎么命中强缓存、
字节飞书-21.3.21
线上笔试
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
算法题 滑动窗口
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
智商ti
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
css dom 选择器 怎么实现 --正则匹配
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
Defer async 区别
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
Addeventlistener‘ 第三个参数意义
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
Body>div:nth-child(odd)+div>div~div
div
Div div div
Div a b c
然后输出的css规则是哪个div
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
算法题它超爱动规~~
</section>/**动物园有香蕉山,每天需要给猴子发香蕉。猴子会排队依次取香蕉。猴子们铺张浪费。
会多拿食物,但最多不会拿超过自身身量的2倍且不会超过当前还存在香蕉的一半。最后一个猴子除外(即最后一个猴子可以拿完剩下的所有香蕉)最少需要准备多少香蕉,能保证所有猴子都能吃饱?
输入:一个数组,每项表示一个猴子的食量。*/
function minBanana(mokeys)
{
let sum=mokeys[mokeys.length-1]
for(let i=mokeys.length-2;i>=0;i--){
if(sum<=mokeys[i]){
sum=mokeys[i]*2
}
else{
sum+=mokeys[i]*2
}
}
console.log(sum)
return sum
}
minBanana([4,3,8])
function TaskCake(N,M,cakes){
if(!N) return
let sum=0;
for(let i=0;i<N-M+1;i++){
let temp=0
for(let j=0;j<M;j++){
temp+=cakes[i+j]
}
sum=Math.max(temp,sum)
}
console.log(sum)
return sum
}
TaskCake(5,2,[1,2,1,13,5])
字节企业应用
视频面试-24min
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">React / Vue.js 之类的框架为什么需要给组件添加 key 属性,其作用是什么?</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">如何判断当前代码是运行在浏览器还是 Node.js 环境中?</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">Sourcemap 是什么?有什么作用?生产环境中应该怎么用?</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">说一下 Webpack 的热更新原理吧</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">简要描述一下什么是消息队列,宏任务和微任务分别又是怎么回事</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">echart底层实现原理 canvas?svg 谁适合大数据渲染 区别是什么</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">防抖函数实现 (又没写出来 怎么调用嘛)</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">bfc特性 怎么触发(position哪些值 。。。)</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">cookie怎么设置 前端怎么设置 怎么清除 后台怎么设置:设值一个过期时间 或者字段清空 -1</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">浏览器存储都有哪些方式 可以跨域请求嘛 也就是可以跨域得到嘛</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">浏览器缓存 有哪些方式 具体的命中过程(面试官让我讲一遍具体的尤其是强缓存设置的方式 以及和协商缓存的区别 讲不上来 我说那几个字段 他表示不对)</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">Call bind区别 具体一点</section>
阿里混合云
tips:阿里的春招是从3月开始的,今年有三个志愿,我的频率是每个月一个部门的面试,中间接触了阿里混合云(2面挂)-企业智能(终面面完挂评分不是a也不行)-高德(北京)-阿里健康(4面上岸)
电面-1h
1.前端的链路埋点 那几种数据 边界 异常埋点怎么快速感知 得到的数据如何聚合
2.表单组件的抽象 实现
3.能不能快速集成
4.淘宝说起来就是一个秒杀系统,为什么可以做这么复杂?
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">项目难点</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">.你觉得这个难吗</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">给场景说解决方案</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">还有没有更好的解决方案</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">组件封装思想</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">给你一个需求如何去进行组件封装</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;"> 数据量很大的 怎么区渲染折线图 保持不卡</section>
笔试

二面 40min
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">wepack怎么自定义插件</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">react为什么废弃那几个周期</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">你大屏的难点是什么</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">目标是什么</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">https和http得缓存区别是什么</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">301 302</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">ajax原理</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">diff算法和虚拟dom的联系方式</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">react性能优化</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;"> 前端性能优化</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;"> 为什么要较少请求次数</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">宏任务微任务有哪些</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;"> 职业规划</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;"> 毕业对自己的要求是什么</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">项目的一个亮点 具体来说 我答的浅 它听得也浅</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;"> fiber是什么</section>
总结:
一面能过 是因为了解 终面不能过是因为没前景没深入。 如果有项目,一定有自己的思考 那一定是围绕这些问题去想自己的 项目,搞清楚自己的项目难点是什么,怎么解决 隐患缺点是什么 简单的事的不简单做法,要想的全面 我们平台去年投入使用,30所学校,前端后端数据的分界点? 异步接口前端怎么获取数据 轮询? 怎么减少浏览器性能 gts部门现在在做的是表单组件开发,可拖拽 实现前后台联动 我做了一个数据大屏,那你要想你的数据大屏和双十一除了数据量差别以外 还有什么差别 你大屏适配怎么做的 难点是什么 需求分析、 双十一大屏有多端方案 (手机端 移动端 点阵屏) 最重要是稳定性 趋势图怎么在大量数据的前提下稳定向前走 不出现跳秒的情况 bizchart
滴滴--21.3.30
一面 60min 很顺利
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
各方面都问了下 印象比较深的是问tcp udp区别 应用场景
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
浏览器中都什么时候用到tcp
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
Tcp http的关系
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
强缓存 协商缓存
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
Etag 和lastmodefied 的区别
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
js原型链讲讲理解
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
判断类型的方法
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
简单敲了下将一个数组去重 取偶 排序(set filter sort) 我都用的api 问我优化的点在哪 没答上?
</section> - <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">
写了防抖
</section>
二面 40mins
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">防抖节流 手写并执行</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">第一次立即执行的防抖</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">Https 安全的具体交接过程 怎么保证的安全 公钥私钥证书的运行过程</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">栈讲讲 前端有哪些应用</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">职业规划</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">数据库 修改一列的sql</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">增加列 alter table 表名 add 列名 varchar(30);</section>
阿里企业智能
高德转过来的 已过两面
三面 电话 48***管面
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">堆排序应用场景</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">b树b+树应用场景</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">关于我的研究方向论文深度了解 问你是怎样构思 怎样优化 怎样进行的</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">我的项目 项目背景 自己做的最复杂的 亮点是什么 架构是什么 后期怎么优化</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">关于react 怎么了解它框架的优缺点</section>
四面
记不得了
终面
酷家乐
一面-现场
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">Promise.all源码讲一下</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">性能优化的方式 你用了哪几种</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">读了哪些源码 讲述一下redux源码组成 connect的原理是什么</section>
二面--现场
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">React-router的源码 以及实现原理 你怎么应用 怎么给他注入参数 怎么动态加载</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">webpack源码 loader plugin区别</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">plugin为什么能执行相应任务</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">webpack在dev 和produnction两种模式上 在源码上体现有什么差别 实现原理?</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">设计模式你知道哪些 (工厂 构造)</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">说说你怎么运用的 除了在原型上加方法 还有什么方式更为便利</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">你的学习路径 方式</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">你遇到的难点</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">看了我的公众号-YukiSu小杂铺--讲讲你当时看异步 你怎么理解的异步</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">说一说事件循环机制过程这一块我提到了任务调用栈 不知道对不对 然后比较欠缺的是宏任务 微任务类别 能说一下nnode。js就更好了</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">说一说事件循环机制那一块和v8引擎有关</section>
终面
因为有了实习,就拒了。终于我翻身做主人
阿里健康
一面-40min
了解我是跨专业的就疯狂问计算机专业知识。
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">你怎么设计一个操作系统</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">数据结构有哪些</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">计算机网络模型</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">http tcp关系</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">http https区别与联系</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">cookie</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">项目目前能做啥优化</section>
二面-30min
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">看了哪些源码 你觉得最难得是哪个</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">redux得源码主要有哪几部分 讲讲他的使用过程</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">react源码 讲一讲你的理解 component传什么参数 怎么实现更新</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">讲一讲业务 讲一讲你遇到得项目难点、</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">你们怎么做发布得</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">你对项目贡献的亮点</section>
三面-24min
太温柔了太慈祥了,问我怎么学习。想往哪学,讲讲网络之类的,爱了
hr面-12min
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">家庭</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">个人爱好性格</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">学习路线 为啥跨专业</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">为啥喜欢前端 不无聊吗</section>
- <section style="margin-top: 5px; margin-bottom: 5px; line-height: 26px; text-align: left; color: rgb(1,1,1); font-weight: 500;">毕业职业规划</section>
每次都会问我可实习时间,宝贝们,这是面试官给你通过的信号,别问我怎么知道…………
面试资料
面试中收集参考的部分面试资料,以及一些面经。点击页面上方阅读原文获取,一起学习交流吧。
</section>