很多人对华为实习面会有一个误解,以为题目会特别偏、特别难,结果真正看完这篇面经会发现,它的节奏其实很典型。
一面重点看你有没有扎实的语言基础、数据结构基础和基本手撕能力;二面开始,重点就明显切到项目、表达、动机和稳定性上了。换句话说,华为并不是只看你会不会答八股,它也会看你这个人到底适不适合做工程。
校招大礼包获取:入口
可能是至今最全,最好,最实用的校招大礼包,减少信息差,预期漫步无敌的刷提,不如有的放矢,针对性的准备,这样才能有效备考,有了这份资料,不说100%拿到offer,至少帮你提升50%概率拿到offer
这篇面经适合谁看
如果你准备投 C++ 软件开发、后台开发,或者本身是非科班、正在往软开方向转,这篇会比较有参考价值。
因为它暴露出来的筛选逻辑很直接:
-
基础题不会太偏,但要求你答得顺
-
手撕代码不一定特别难,但会看你写得稳不稳
-
二面会重点追问项目、论文、个人规划和岗位匹配度
面试流程速览
这位同学在 2025 年 5 月 20 日和 5 月 21 日参加了两轮面试。
整体节奏大致是这样的:
-
一面时长接近 1 小时,基础题 + 手撕代码是主线
-
二面更像主管面,重点深挖简历、项目、论文、性格和个人规划
这个流程很值得注意,因为它说明华为对实习生的考察不是单点型的,而是“技术基础 + 工程潜力 + 人岗匹配”一起看。
一面在问什么
一面一开始是自我介绍,接着问了课程学习情况和毕业论文方向,随后进入基础题追问。
这一轮出现的问题主要包括:
-
C++ 和 C 的区别
-
define 和 const 的区别
-
堆和栈的区别,并顺着问到 new 和 malloc 的区别
-
C++11 新特性
-
多态是什么
-
vector 和 list 的区别
-
DFS 和 BFS
-
机试复盘
最后还有手撕代码,三选一:
-
字符串中元音字母交换后输出
-
链表题
-
删除无效括号并输出有效结果
这一轮的风格非常清楚,就是标准的软件开发基础筛选。
它不追求特别刁钻,但会看三个东西:
第一,你是不是把 C++ 基础真的学过,而不是只背过名词。比如 define 和 const、堆和栈、new 和 malloc 这种题,面试官真正想听的不是一句“一个是宏一个是常量”,而是想看你能不能继续往编译期、类型安全、构造析构这些层面展开。
第二,你的数据结构基础是不是成体系。vector 和 list、DFS 和 BFS 这种题如果答得发虚,面试官会很快判断你平时刷题和项目都不够扎实。
第三,你的代码能力是不是能落地。三选一的手撕题不一定是最难的 LeetCode 高频,但它会很真实地暴露你的边界处理、编码习惯和现场思路。
二面在问什么
二面明显换了一个节奏。
原始面经里提到,网络出了点问题,但主管面试官态度很好。真正的重点不在这个插曲,而在于这轮问题已经大面积转向“你这个人”和“你做过的事”。
主要问题包括:
-
深挖简历项目
-
项目相比现有技术的优势是什么
-
项目过程中遇到过什么问题
-
为什么非科班要做软开
-
毕业论文做的是什么方向
-
你的优点和缺点,缺点怎么克服
-
当学生干部的收获是什么
-
多件事情冲突时怎么处理
-
爱好是什么
-
个人规划和项目规划
这轮其实已经不是单纯技术面了,而是在判断几个更深层的点。
1. 你的项目是不是你自己真正做过的
“相比现有技术的优点在哪里”“遇到什么问题”这类题非常容易把项目真假区分出来。
如果项目只是写在简历上,但你讲不清楚为什么这么做、替代方案是什么、最后解决了什么问题,那二面很容易失分。
2. 你转向软开的动机是否可信
对非科班同学来说,“为什么做软开”几乎是高频题。
面试官不是反对转码,而是想确认你不是一时兴起,也不是只会说“我觉得这个方向前景更好”。更好的回答方式应该是:
-
你什么时候开始接触编程
-
为什么对软件开发产生兴趣
-
你做过哪些实际投入
-
你为什么判断自己适合这个方向
3. 你是不是一个稳定、可沟通、可培养的人
学生干部经历、冲突处理、优缺点、爱好、个人规划,这些题表面上不像技术题,但对实习岗位很重要。
因为实习生本来就不是“来了就能独立扛业务”的角色,很多时候团队会更看重你的成长性、沟通能力和执行稳定性。
从这篇面经里能看出华为在筛什么
如果把这两轮面试合在一起看,华为实习软开岗至少在看下面四件事:
-
你的 C++ 和数据结构基础是否过关
-
你有没有基本的现场编码能力
-
你的项目经历能不能经得住细问
-
你做软开的动机、表达和稳定性是否足够清楚
这也是很多同学容易忽视的地方。
有些人会把准备重心全压在八股和刷题上,结果一到二面,项目讲不深,动机讲不清,个人规划一问就乱。这样即使一面过了,后面也不稳。
如果你准备投华为,这几块要重点复习
1. 把 C++ 基础题准备成“可追问”状态
像下面这些题,不能只会一句话版本:
-
C 和 C++ 的区别
-
define 和 const 的区别
-
new/delete 和 malloc/free 的区别
-
多态的实现机制
-
C++11 常见新特性
-
vector 和 list 的底层差异
准备时至少做到三层:
-
概念是什么
-
原理或机制是什么
-
工程里什么时候用、为什么这么用
2. 手撕代码不要只刷,会写还不够,要写稳
这类题真正拉开差距的,往往不是思路,而是细节:
-
边界条件有没有漏
-
变量命名是否清晰
-
代码结构是否干净
-
写完后能不能自己举例验证
如果你一紧张就容易写乱,平时练题时就要养成“先想清楚输入输出和特殊情况,再下手”的习惯。
3. 项目题一定要提前打磨成完整叙事
至少准备清楚这几件事:
-
项目背景是什么
-
你负责了哪一部分
-
原方案的问题是什么
-
你为什么这样设计
-
中间遇到过什么困难
-
最后效果如何
不要只会说“我做了一个项目”“我参与了某模块开发”,这种表述太虚,二面一深挖就容易散。
4. 非科班同学要提前准备转软开的理由
这个问题不要临场想。
最差的回答是空泛,最好的是让面试官听完以后觉得:这个人虽然不是科班,但路径是连贯的,投入也是真的。
最后提醒
这篇华为面经最值得参考的地方,不是题目本身有多难,而是它把一条很典型的实习筛选逻辑摆得很清楚:
一面先看你有没有基本功,二面再看你到底是不是一个值得培养的人。
如果你准备华为,别只刷题,也别只背八股。把基础、手撕、项目和个人动机一起准备,效果会比单点突击好得多。

