ARTICLE · 1144499
华为嵌入式面经全流程|机考到主管面,真题+追问链一次讲透
华为嵌入式面经全流程|机考到主管面,真题+追问链一次讲透
先说结论:华为嵌入式岗不是题偏,是追问深。八股本身不难,难的是你每说一句话,面试官都会顺着往下挖——一直挖到你说不上来为止。本文把 2025–2026 届多位同学的真实面经拼成一条完整链路,从机考、综测、技术一面、技术二面到主管面,逐关给真题、给追问链、给接法。背完能直接用。
一、先看流程:华为嵌入式面几轮
华为研发岗(含嵌入式/硬件)的标准化流程是:
投递简历(官网 / 牛客 / 线下招聘会,也可走内推) 机考(上机编程,约 120 分钟) 综合测评(性格测试,无技术难度) 技术一面(约 45–75 分钟) 技术二面(约 45–60 分钟) 主管面 / HR 面(约 20–45 分钟) 保温电话 → 报批 → Offer
几条容易被忽略的实情:
线下场可以一天走完一面、二面、主管面;线上则可能拖到两三周。 有个别同学评级不一致会被加第三轮技术面。 竞赛党 / 顶会论文党可申请免机考,但技术面照面,且不会因此放水。 2026 届的一条真实时间线:5.13 投递 → 5.21 机考 → 5.22 综测 → 5.30 一天面完技术面+主管面,全程 17 天。
二、机考:和通用软件岗同一题库
别被"嵌入式"三个字骗了。 华为嵌入式软件与通用软件类的机考是同一题库出题,格式为 3 道编程题(总分 200)。题型集中在:数组、字符串、回溯、模拟、堆、滑动窗口、动态规划。
近年真题示例:
k 数之和(输出不重复的 k 元组个数) 提取字符串中的合法 MAC 地址 前 K 小子集和 最大无重复子串长度 根据身高重建队列 复原 IP 地址
再给三道完整原题感受一下难度与坑:
题目 1 · 码流等分 有一段只含 0/1 的二进制码流,请把它切成 3 段,使每段的二进制值相同。做不到输出 -1;若码流全为 0,也视为做不到,输出 -1。 样例:输入 100101000001001010000100101 → 输出 100101 00000100101 0000100101(三段都是十进制 37)。 思路提示:先数 1 的总数,必须能被 3 整除;每段含 1 的个数相同,再按"第 1、2、3 段各自的起始 1"逐位比对尾部对齐。
题目 2 · 薪酬统计 N 名员工按职级由低到高给出薪酬数组 L,当"低职级薪酬 > 高职级薪酬 × 2"时该低职级员工需调整薪资,调整在统计完成后统一进行。求全公司需要调整的总数。 样例:[1,3,2,3,1] → 输出 2。
题目 3 · 佩奇和乔治能量豆大 PK 盒中若干能量豆,每轮取两块 PK:相等则双双消失,不等则放回差值的绝对值。多轮后最多剩一块,返回剩下能量豆的最小可能能量值,没有剩余则返回 0。 样例:2 7 4 1 8 1 → 输出 1。
机考经验(真实踩坑):
输入可能只测部分情况,提交前一定要过边界(全 0、超长、重复值)。 先做简单题快速拿分,把时间留给最后一题。 题库不算太大,多刷相似题型;不少人前两题就是"刷到过类似的"。 平时太依赖 IDE 补全的同学要小心:机考时连一个长度判断都要来回改,练无补全手写。
三、综合测评:不算分,但会卡人
性格测评没有技术难度,只记一条铁律:保持前后一致。选项贴近"积极向上、情绪稳定、能完成任务、重视团队协作"。真实作答,别前后矛盾。
四、技术一面:项目深挖是主战场
典型流程:自我介绍 → 简历挖项目 → 基础八股 → 手撕代码。八股反而问得很基础,真正的时间和分数都在项目上。
常见八股真题:
栈 vs 堆的区别;内存泄漏如何避免 const int *p与int * const p的区别C 与 C++ 的区别,C++11 用得多吗 TCP / UDP 区别,粘包拆包怎么理解 用过什么数据结构;哈希表键值冲突怎么处理 树的 BFS 和 DFS 手撕:提取合法 MAC 地址、快速选择排序、LeetCode 27 移除元素、无重复子串、环形缓冲区
一个经典的项目深挖追问链(同学讲"串口用 DMA 接收、降低 CPU 占用"后,面试官连问):
为什么用 DMA?不用串口中断行不行? DMA 接收不定长数据,怎么判断一帧结束? 空闲中断触发时,DMA 还在继续搬数据吗? 读取接收长度时新数据又进来了,怎么办? 如果连续来了两帧,上一帧还没处理完,会不会覆盖? 环形缓冲区由中断写、任务读,怎么保证并发安全? volatile有什么作用?能不能保证原子性?中断和主循环共享一个变量,只加 volatile 是否足够? static修饰局部变量和全局变量分别有什么影响?头文件里定义 static 全局变量会发生什么?结构体为什么要内存对齐?怎么算结构体大小? memcpy遇到内存区域重叠会怎样?指针数组和数组指针有什么区别?
面试官还会补一道综合排查题:设备运行中每隔几分钟少一帧,且不是稳定复现——怎么查? 高分接法不是立刻报一串猜测,而是先分层:用逻辑分析仪抓 RX 引脚,确认数据有没有到 MCU;线上就缺帧就往发送端/硬件链路查;再结合"只有负载高时才出现"这条线索,指向高优先级任务长期占用 CPU、接收任务来不及消费、缓冲区被撑满,或临界区太长导致中断响应延迟。
📖 嵌入式八股阅读原文:C 语言 / 单片机 / 通信协议 / RTOS 的完整八股整理,最下方阅读原文
五、技术二面:启动流程、RTOS、总线
二面继续深挖项目,同时压更底层的技术点。三块高频区域:
① 启动流程 / 链接脚本
.data为什么要从 Flash 复制到 RAM?.bss为什么只需清零、不用存初始值?启动文件里的中断向量表放在哪里? 程序能不能直接在 RAM 里运行? 改了链接脚本,最容易出什么问题?
② RTOS(FreeRTOS 方向)
互斥量和二值信号量有什么区别?为什么互斥量一般有优先级继承、信号量没有? 优先级反转是怎么发生的? 中断里为什么不能直接调用普通队列发送函数? 任务栈溢出有哪些表现?怎么定位? 一个高优先级任务不阻塞,会发生什么?
③ 总线协议
I2C 为什么要用开漏输出 + 上拉电阻?总线上两设备同时发不同电平会怎样? SDA 被从机一直拉低,主机怎么恢复? SPI 和 I2C 的对比与适用场景 I2C 通信画图:先传什么、为什么这样设计、应答位作用 I2C 死锁问题;Linux 下接入十几个传感器怎么处理(设备树角度) flash / ROM / RAM / EEPROM 的区别与应用
手撕:快速选择排序(当场在 Clion 里写,需能跑通)。
二面经验:提前准备 1–2 个能深入讲的技术难点案例;遇到不会的先说思路、再补细节,比硬编更保命。
六、主管面 / HR 面:看的是"能不能融进来"
时长 20–45 分钟,风格差异极大:
轻松型(约八成):聊职业规划、城市意向、团队合作。 压力型:继续问技术,比如 Linux 内核源码、CPU 架构、嵌入式项目细节。
高频真题:
了解华为的文化吗?能接受高强度加班吗? 项目/实习里最难的问题是什么,怎么解决的? 最大的一次挫折是什么,怎么调整的? 和团队有分歧怎么办?你的想法被别人否定过吗? 为什么想进华为?为什么选这个城市(东莞/珠三角等)? 职业规划是什么?愿不愿意接受异地或海外派驻? 期望薪资是多少?(本科会问"为什么不考研") 英语不错,讲一段英语(内容自选)
应对要点:
主管面更看综合素质与稳定性。加班态度别说"完全不能接受";城市意向要讲明白(产业链集中、机会多)。 用 STAR 法则:难题 + 怎么做 + 结果。 别只展示技术多强,也要让对方感到你好沟通、愿配合、能把事做成。
七、高频八股速查表
C 语言:volatile / static / const 指针 / 内存对齐 / memcpy 重叠 / 指针数组与数组指针 / 大小端 内存与启动:.data/.bss/中断向量表 / 链接脚本 / 内存泄漏 单片机与总线:GPIO、中断、DMA、定时器;UART / I2C / SPI / CAN;开漏上拉、应答位 RTOS:任务调度、信号量 vs 互斥量、优先级反转、上下文切换、栈溢出 操作系统 / Linux:进程线程协程、IO 多路复用(select/epoll)、设备树、常用命令(ps/ls/top/grep/sed/awk/chmod/lsof/netstat) 数据结构算法:链表、栈队列、树、哈希、位运算、滑动窗口、DP
八、面试官到底在追什么
把这位同学的话放在最后:
"八股背得再熟也没用,只要项目里有一句话说得含糊,后面就要被追到不会为止。"
所以真正要练的不是"背答案",而是两件事:
把简历上每一句话都问到第三层——你写了 DMA,就要能答到"中断与任务并发读写怎么保证安全"。 场景题先分层再给方案——先判断问题在硬件、驱动还是调度层,再设计验证手段,而不是一上来报一串可能性。
九、备考注意
机考:LeetCode Hot 100 + 字符串/数组/链表/二叉树/基础 DP,重点练无补全手写与边界用例。 八股:按上面第七节的模块逐条自测,答不出的记下来补。 项目:挑 1–2 个最熟的,做"三层追问"演练,准备数据量、时序、异常处理的细节。 主管面:准备 5 个 STAR 故事(难题、挫折、分歧、协作、成长),中英各一版。 综测:真实作答,保持前后一致。
本文所有题目均来自公开分享的真实面经与笔试真题,已做去重与归类整理。具体部门、轮次与题目以你实际面试为准。
嵌入式面试八股合集见原文
评论区扣下你想看的公司,下一篇优先安排。
#嵌入式面试 #华为面经 #嵌入式软件开发 #秋招 #校招