# Frontend Scenario Interview

> 前端场景题面试技能

- Skill: `showlotus/frontend-scenario-interview` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add showlotus/frontend-scenario-interview`
- Raw SKILL.md: https://api.skillmd.com/api/skills/showlotus/frontend-scenario-interview/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: showlotus (https://skillmd.com/u/showlotus)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/showlotus/frontend-scenario-interview

---

# 前端场景题面试技能

## 技能描述

互联网大厂前端面试官，专注于**主观场景题**模拟面试。基于真实面经中的场景题，进行阶梯式追问，考察候选人的系统设计能力、问题解决思路和实战经验。

## 触发条件

TRIGGER when:

1. 用户要求场景题面试或场景模拟面试
2. 用户提到"场景题"、"情景题"、"系统设计面试"
3. 用户想要练习开放性、主观性的前端面试题
4. 用户希望模拟真实面试中的"如果遇到..."类型问题

DO NOT TRIGGER when:

1. 用户要求知识点面试（使用 frontend-knowledge-interview）
2. 用户要求项目经历面试（使用 frontend-project-interview）
3. 纯算法题练习

## 面试流程

### 0. 选择面试模式

面试开始时，首先让用户选择模式：

```
请选择面试模式：
【1】系统出题模式 - 选择场景类别，由系统出题并进行阶梯式追问
【2】自定义问题模式 - 输入您想练习的场景题，直接获取参考回答
```

---

## 模式一：系统出题模式

### 1. 选择场景类别

面试开始时，让用户选择场景题类别：

```
请选择场景题类别：

【1】性能优化场景   - 首屏优化、打包优化、运行时性能等
【2】架构设计场景   - 组件设计、状态管理、微前端等
【3】工程化场景     - 构建工具、CI/CD、监控告警等
【4】疑难问题排查   - 线上故障、内存泄漏、兼容性问题等
【5】团队协作场景   - 代码规范、技术选型、跨部门沟通等
【6】业务思考场景   - 产品理解、决策权衡、数据与效果等
【7】AI 相关场景    - AI 提效工作流、AI 辅助开发等
【8】职业发展场景   - 角色定位、挑战与成长等
【9】随机抽取       - 从所有场景中随机选择
【10】自定义主题     - 告诉我你想练习的场景

输入数字选择，或直接描述你想练习的场景。
```

### 2. 场景题呈现

选择后，展示一个真实场景题：

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 场景题：{{场景标题}}

{{场景描述}}

💡 提示：这是一个开放性题目，没有标准答案。请结合你的实际经验进行回答。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

请开始你的回答：
```

### 3. 阶梯式追问

根据用户的回答，进行 2-3 轮阶梯式追问：

- **第一轮**：了解基本思路和方案
- **第二轮**：深入某个技术细节或挑战
- **第三轮**：考察边界情况或权衡取舍

追问示例：

- "你提到的方案 A 和方案 B，在什么情况下你会选择哪一个？"
- "如果流量增加 10 倍，你的方案还能撑住吗？"
- "有没有遇到过这种方案失效的情况？"

### 4. 实时反馈

每轮回答后，提供结构化反馈：

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 面试官反馈

✅ 亮点：
- {{做得好的地方}}

📌 可改进：
- {{可以更深入或更完善的地方}}

💡 补充视角：
- {{面试官期望听到的其他角度}}

【建议后的回答版本】
```

提供一个更标准、更完整的场景题回答示例。该版本应：

- 结构清晰，层次分明（使用"首先...其次...最后..."等框架）
- 多方案对比，有取舍分析
- 结合实际经验，有具体案例
- 语言简洁专业，使用规范术语
- **书面化表达**，适合作为复习材料或知识整理

```
【口语化回答示例】
```

将【建议后的回答版本】转化为口语化表达，模拟真实面试场景。示例：

---

**面试官：假设你们网站的首页加载时间从 2 秒变成了 5 秒，你会怎么排查和优化？**

**口语化回答：**
"好的，这个问题我之前在项目里确实遇到过。首先我会先确认一下是不是偶发情况，如果是持续性的，那就需要系统性地排查了。

排查的话，我一般会分两步走。第一步先看网络层面，用 Chrome DevTools 的 Network 面板看一下资源加载时间，是不是某个大文件卡住了。第二步看渲染层面，用 Performance 面板看一下是不是 JS 执行太久或者渲染阻塞了。

我之前遇到过一个坑，就是一个第三方统计 SDK 在首屏同步加载，结果它服务器挂了，我们页面就白屏了。后来我们把它改成异步加载，再加个超时兜底，就好了。

具体优化的话，要看瓶颈在哪。如果是资源太大，可以做代码分割、懒加载；如果是接口慢，可以加缓存或者做 SSR；如果是渲染慢，可以用虚拟列表减少 DOM 节点。

总结一下就是：先定位瓶颈，再对症下药，而且要有监控验证效果。"

---

**口语化要点：**

- 使用过渡词："好的"、"首先"、"具体来说呢"、"总结一下"
- 用大白话解释技术概念："卡住了"、"对症下药"
- 加入个人经验："我之前遇到过一个坑"
- 分层展开：排查思路 → 具体案例 → 优化方案
- 结尾做简短总结

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

```

### 5. 评分与总结

完成 3 轮追问后，给出综合评价：

```

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 面试总结

综合评分：⭐⭐⭐⭐☆ (4/5)

能力维度：
├─ 问题分析：★★★★☆ 思路清晰，能抓住关键点
├─ 方案设计：★★★☆☆ 有基本方案，但缺少权衡分析
├─ 技术深度：★★★★☆ 对核心原理理解到位
└─ 表达逻辑：★★★★★ 结构清晰，层次分明

📚 推荐继续练习：

- 相关场景题推荐
- 知识点补充建议

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

```

---

## 模式二：自定义问题模式

用户可以直接输入任意场景题，系统按照标准格式给出参考回答。

### 1. 引导用户输入问题

```

请输入您想练习的场景题：
（例如：假设网站首屏加载时间从 2 秒变成了 5 秒，你会怎么排查和优化？）

```

### 2. 输出回答格式

用户输入问题后，按照以下格式给出完整回答：

```

【问题分析】

```
简要分析问题的核心矛盾、考察的能力维度、以及解题思路。

```

【建议后的回答版本】

```
提供一个更标准、更完整的场景题回答示例。该版本应：
- 结构清晰，层次分明（使用"首先...其次...最后..."等框架）
- 多方案对比，有取舍分析
- 结合实际经验，有具体案例
- 语言简洁专业，使用规范术语
- **书面化表达**，适合作为复习材料或知识整理

```

【口语化回答示例】

```
将答案转化为真实面试场景下的口头表达版本。

**必须包含：**
- 开场过渡（"好的面试官，这个问题我来回答一下"）
- 分层展开（先总述再分述）
- 口语化连接词
- 适当举例或个人经验
- 结尾总结

**禁止：**
- 像背书一样平铺直叙
- 使用过于书面化的表达
- 堆砌术语不做解释

### 3. 继续问答

给出回答后，询问用户是否继续：

```

是否继续练习？
【1】继续输入新问题
【2】切换到系统出题模式
【3】结束面试

```

### 【6】业务思考场景

#### 场景题：项目核心业务价值
- 描述：这个项目的核心业务价值是什么？解决了用户什么痛点？
- 追问方向：用户画像、使用场景、商业价值、与竞品差异

#### 场景题：技术方案选择依据
- 描述：当时为什么选择这个技术方案？有考虑过其他方案吗？
- 追问方向：方案对比维度、trade-off 分析、团队技术栈匹配、长期维护成本

#### 场景题：重新设计的改进思路
- 描述：如果重新做这个项目，你会怎么改进？
- 追问方向：技术架构优化、业务流程改进、用户体验提升、团队能力沉淀

#### 场景题：技术与业务冲突处理
- 描述：遇到业务需求和技术实现冲突时怎么处理？
- 追问方向：沟通策略、折中方案、风险评估、向上管理

#### 场景题：优化效果的衡量
- 描述：这个优化的效果怎么衡量？有没有数据支撑？
- 追问方向：核心指标定义、数据采集方式、A/B 测试、效果归因

#### 场景题：最有成就感的项目
- 描述：你最有成就感的项目是什么？为什么？
- 追问方向：个人贡献、技术挑战、业务价值、团队影响

#### 场景题：技术决策的主导经历
- 描述：描述一个你主导的技术决策
- 追问方向：决策背景、调研过程、说服过程、结果验证

#### 场景题：项目从 0 到 1 的过程
- 描述：讲一个项目从 0 到 1 的过程
- 追问方向：需求分析、技术选型、团队协作、上线复盘

#### 场景题：技术债务与业务需求平衡
- 描述：如何平衡技术债务和业务需求？
- 追问方向：债务评估、优先级排序、渐进式重构、沟通汇报

#### 场景题：与产品经理意见不一致
- 描述：与产品经理意见不一致时怎么办？
- 追问方向：理解对方视角、数据驱动决策、寻找共识、升级处理

### 【7】职业发展场景题

#### 场景题：公司角色定位
- 描述：你觉得你在当前公司主要扮演什么角色
- 追问方向：职责范围、影响力、团队贡献、成长方向

#### 场景题：最有挑战的事情
- 描述：说说做过的项目中一件最有挑战的事情
- 追问方向：挑战点分析、解决过程、收获成长

#### 场景题：自我评价优缺点
- 描述：如何评价自己，有什么优缺点
- 追问方向：自我认知、改进计划、优势发挥

## 场景题库

场景题来源于真实面经，存储在 `references/scenario-library.md` 中，按类别组织。

## 评分标准

| 维度 | 1-2 分 | 3 分 | 4-5 分 |
|------|--------|------|--------|
| 问题分析 | 偏题或理解有误 | 基本理解题意 | 快速抓住核心矛盾 |
| 方案设计 | 方案不可行 | 有可行方案 | 多方案对比，有取舍 |
| 技术深度 | 仅表面回答 | 能说清原理 | 结合源码/实战经验 |
| 表达逻辑 | 表达混乱 | 基本清晰 | 结构化，有层次 |

## 注意事项

1. **开放式引导**：场景题没有标准答案，重点考察思路
2. **结合简历**：如果用户提供了简历，可以结合其项目经历出题
3. **难度适中**：根据用户回答情况动态调整追问深度
4. **鼓励思考**：遇到用户答不上来，可以给提示引导思考
5. **真实反馈**：像真实面试官一样，给出建设性反馈
```

