华为笔试复盘-26.07.16
面试日期:2026-07-16 公司:华为 岗位:ICT BG 光产品线 通用软件实习生 轮次:笔试(3 道编程题) 形式:在线编程 状态:已面试 结果:部分通过 ⚠️(第 1 题全过,第 2 题未通过,第 3 题通过 20%)
📊 成绩总览
| 题号 | 题目 | 难度 | 表现 | 核心知识点 | LeetCode 对应 |
|---|---|---|---|---|---|
| Q1 | 接雨水 | ⭐⭐ | ✅ 全过 | 双指针 / 单调栈 | LC 42 |
| Q2 | 互斥频带载波选优 | ⭐⭐⭐⭐ | ❌ 未过 | 并查集 + 分组背包 DP | LC 547 + LC 1155 |
| Q3 | 字符串最少插入字符 | ⭐⭐⭐ | ⚠️ 20% | LCS 最长公共子序列 | LC 1143 |
📝 题目复盘
Q1:接雨水 ✅
题目:给定高度数组,计算能承接的雨水总量。
我的解法:双指针,维护左右最大高度。
结果:顺利通过。
Q2:互斥频带载波选优 ❌
题目:N 个载波,每个有带宽和频带。约束:最多选 K 个;同频带只能选一个;互斥频带对具备传递性。
正确思路:
- 每个频带只保留最大带宽载波(贪心)
- 并查集处理互斥关系的传递性
- 分组背包 DP 求解
我的失误:
- 题干偏业务化,没能快速抽象出算法模型
- 互斥的传递性没意识到要用并查集
完整代码:AlgorithmPractice/java/src/dp/999_carrier_selection.java
Q3:字符串最少插入字符 ⚠️
题目:仅允许对 S 插入字符,使 T 成为 S 的子序列,求最少插入数。
正确思路:答案 = len(T) - LCS(S, T),滚动数组优化 DP。
我的失误:
- 核心思路(LCS)可能对了,但只过 20%
- 推测是边界情况(空串、T 已是子序列等)没处理全
完整代码:AlgorithmPractice/java/src/dp/998_min_insertions.java
📊 表现自评
| 维度 | 评分 | 说明 |
|---|---|---|
| 算法/代码题 | ⭐⭐⭐ | 经典题没问题,组合题建模能力弱 |
| 问题抽象 | ⭐⭐ | 业务化题干抽象不出模型 |
| 边界处理 | ⭐⭐ | 第 3 题边界覆盖不全 |
| 综合 | ⭐⭐⭐ | 需加强组合题和边界测试 |
✅ 后续行动项
🔗 关联笔记
📅 记录时间:2026-07-16