面试常见问题
你做过什么项⽬?
简历描述 不能千万不要技能⼤放送
你到底做过什么有亮点的项⽬?
面试有主动发起 互动
公司对你的要求:能⽤就⾏
你对⾃⼰的要求:要有亮点
有亮点项⽬
- 数据量开始变⼤ 怎么处理
- ⽹速开始有些不稳定,怎么处理( 体验 )
- 体验优化
⼿写Promise
Promise.all怎么加上错误处理
Promise.all怎么加上并发控制
⽂件上传
初级问题
头像的上传,只允许png这俩格式
- ⽤了element ⾃带的
- 后缀 ⽂件名,accept 可以通过重命名修改的
- ⼆进制判断
- 基本的实现 axios.post+ 进度条
升级问题
问题描述: ⽂件变⼤ ⽹速可能不稳定, 体验要好
- 粘贴上传图⽚,拖拽上传视频
- 分⽚,断点续传 秒传等 (⽂件有⼀个唯⼀表示,来判断切⽚是否存在)
- md5值的计算,会导致浏览器卡顿
3.1 web-worker
3.2 time slice requestIdleCallback - 抽样hash(布隆过滤器)
- Primise.all新增并发控制
- 个别区块上传失败,怎么⾃动重试 (限制三次)
- ⼀个区块多⼤,和⽹速匹配,这个怎么实现,直接定XXKB都不太合理
7.1 TCP的慢启动逻辑
7.2 控制算法
数据量变⼤ 列表优化
- 分⻚
- 虚拟滚动(怎么去实现)
2.1. 定⾼
2.2. 不定⾼
网络开始有些不稳定
SSR(亮点)
- 有没有做过ssr
- ssr实现的思路,解决了什么问题
- 如果流量激增 服务器扛不住了,怎么优化
3.1 降级渲染 降级浏览器渲染 - 横向扩展 负载均衡
4.1 ⼀台机器转需求,后⾯放⼗台
4.2 如果对10求余, 有⼀台挂了怎么办 突然变成对9求余了
4.3一致性哈希算法
team leader的⻆⾊看待项⽬
除了实现需求之外, 你作为项⽬的前端负责⼈,能有啥亮点 就算你不写代码,也要负责技术选型,质量管控
- 技术选型 ,接⼝⽂档
- 版本控制,git
2.1 git hook, ⾃动化测试,eslint....
2.2 ⾃动化部署 github action - commit -m格式先
- 质量
- 开发流程 开发流程
- TDD 国内⽤的不是太多
- 组件化
- 抽离组件,⾃动化测试的问题
- 性能优化策略,性能监控
6.1 哪些指标
6.2. 举个⼩例⼦,FMP (first meaningful pain)有意义的数据渲染
6.3. B站可能是⼏个视频截图load出来就算FMP
6.4. 电商 轮播图+列表load出来
6.5. 通过监听dom变化,找到⼤部分填充满⾸屏的dom 计算时间
6.6. mutationObserver - 报错管理 sentry
- ⾃动化发布部署
12.影响⼒