Skip to content
错题本 0已完全掌握 0正在读取本地学习状态…
先想一想,再看答案

项目与场景题 ​

复习方式:先遮住答案口述 30~90 秒,再核对关键点;“追问与易错点”用于进一步练习。

1. 如何介绍自己的项目? ​

展开答案与追问

参考答案: 用“业务目标 → 个人职责 → 关键约束 → 方案与取舍 → 验证结果”组织 2 分钟回答。明确团队成果和自己的贡献。只陈述真实测量结果,说明数据来源、环境和时间范围。

追问与易错点: 练习模板:我负责___;最大问题是___;比较___后选择___;通过___验证,结果___;仍有___限制。

2. 搜索结果乱序覆盖如何解决? ​

展开答案与追问

参考答案: 防抖减少调用;用 AbortController 取消旧 fetch,并以请求序号或查询标识保证只有最新请求可更新状态。取消可能太晚且不适用所有任务,最终写入校验仍有价值。加载、空态和错误也必须按同一请求身份管理。

追问与易错点: 不能只保护成功结果而让旧请求 finally 清除新请求的 loading。

3. 登录过期,多个请求同时失败怎么办? ​

展开答案与追问

参考答案: 统一请求层识别过期,用共享的刷新 Promise 合并刷新;刷新成功后在允许的条件下重试,失败统一退出。限制重试次数,排除刷新接口自身,并考虑多标签页协调。非幂等请求需业务协议支持。

追问与易错点: 不要把所有 401 都无限刷新;某些错误需要重新认证。

4. 大文件上传如何设计? ​

展开答案与追问

参考答案: 分片上传,控制并发,按文件与分片标识记录进度,支持失败重试与恢复,服务端校验并合并。哈希计算可放 Worker 减轻主线程压力,服务端仍需验证权限、大小与内容。

追问与易错点: 断点续传的核心是服务端可信的分片状态;仅保存前端进度不足够。

5. 页面卡顿时如何定位? ​

展开答案与追问

参考答案: 先稳定复现,记录设备、数据规模和操作路径;用 Performance 查看长任务、布局和绘制,用组件分析工具定位更新,再结合网络与内存证据。按最大开销逐项修改,并验证交互与回归。

追问与易错点: 回答时给出一次真实问题的证据链,不要只罗列防抖、缓存、CDN。

6. 如何设计一个通用组件? ​

展开答案与追问

参考答案: 先定义场景边界、数据与事件契约、受控方式和默认行为,再考虑扩展点、可访问性、错误状态和性能。用真实消费场景验证抽象,避免为了通用而暴露大量互相影响的参数。

追问与易错点: 以弹窗为例,还需处理焦点管理、Esc 关闭、背景交互、滚动锁定与嵌套。

7. 遇到不会的问题如何回答? ​

展开答案与追问

参考答案: 先确认问题边界,说明已知部分,用原理推导并明确假设;不确定时说明会如何查证或设计实验。面试后记录薄弱点。不要把猜测说成已经验证的结论。

追问与易错点: 可以说:“这个细节我没有直接验证过,我会先检查___,再用___最小示例确认。”

先尝试回答,再展开答案。每天进步一点。