1. 从一份校招日报说起:嵌入式岗位的供需真相
九月底的校招节奏,基本已经进入白热化阶段。广和通、芯慧联芯、中大力德、光客科技、阶梯科技等八家企业同一天开启校招通道,这个密度放在整个秋招周期里都算得上密集。我做嵌入式这行十来年,每年这个时候都会被学弟学妹或者刚入行的朋友问同一个问题:嵌入式到底还值不值得投?我的回答从来没变过——值不值得投,取决于你投的是哪一类嵌入式岗位,以及你手里攥着的是什么牌。
先看这批企业的构成。广和通做无线通信模组,芯慧联芯偏半导体设备与测试,中大力德是减速器与运动控制方向,光客科技涉及光电感知,阶梯科技做的是智能硬件方案。把这五家放在一起看,你会发现它们覆盖了嵌入式最主流的几个落地方向:通信、半导体设备、运动控制、光电感知、消费级智能硬件。这不是巧合,而是嵌入式岗位分布的典型缩影——嵌入式从来不是一个行业,而是一类技术能力在不同行业里的投影。
很多同学投简历的时候只看公司名字,不看岗位背后的技术栈,结果就是简历石沉大海,或者面试聊了十分钟就聊不下去了。我见过太多这样的案例:一个做了两年STM32裸机开发的同学,去投一家做嵌入式Linux BSP的岗位,简历上写满了寄存器配置和中断向量表,面试官问的是设备树怎么改、根文件系统怎么裁剪,双方都很尴尬。所以这篇内容我想做的事情很具体:把这批校招岗位背后的技术需求拆开,告诉你每一类岗位到底在考什么,你应该怎么准备,以及哪些坑是每年都会有人踩的。
适合读这篇内容的人有三类。第一类是2026届正在投递嵌入式岗位的应届生,你需要知道不同公司的岗位差异在哪里。第二类是刚入行一两年、想跳槽但不确定方向的工程师,你需要看清自己当前的技术栈能匹配什么岗位。第三类是大二大三还在选方向的同学,你需要提前知道嵌入式这条路上有哪些岔路口。不管你在哪个阶段,我都会尽量把话说透,不绕弯子。
2. 八家企业背后的嵌入式岗位分类与技术栈拆解
2.1 通信模组方向:广和通的岗位画像
广和通这类做无线通信模组的公司,嵌入式岗位的核心关键词是协议栈、驱动适配、低功耗。模组产品本质上是一个跑着实时操作系统的嵌入式设备,里面要处理的事情包括但不限于:基带芯片的驱动适配、协议栈的移植与裁剪、功耗管理、射频校准、AT命令解析、固件升级。
这类岗位对C语言的要求非常高,不是那种“会写就行”的高,而是要求你对指针、内存对齐、位操作、结构体 packing 这些东西有肌肉记忆级别的熟练。原因很简单,模组里的资源极其有限,RAM可能只有几百KB,Flash也就几MB,你写的每一行代码都要考虑空间和时间开销。
面试这类岗位,高频考点包括:RTOS的任务调度机制、中断处理流程、DMA的工作原理、串口通信的流控、SPI/I2C总线的时序问题、低功耗模式的切换逻辑。我印象很深的是有一次帮朋友模拟面试,问他“如果一个SPI设备读数据偶尔出错,你怎么排查”,他答了一堆软件层面的东西,但完全没有提到用示波器看时序、检查CS信号和时钟相位。这就是典型的只懂软件不懂硬件的嵌入式工程师,在通信模组这类岗位上会很吃亏。
2.2 半导体设备与测试方向:芯慧联芯的技术门槛
芯慧联芯这类半导体设备公司,嵌入式岗位的定位和消费电子完全不同。半导体设备对实时性、可靠性、精度的要求是另一个量级。一台测试设备可能要在微秒级别完成信号采集和处理,任何一个抖动都可能导致测试结果偏差。
这类岗位通常要求你懂FPGA与MCU的协同、高速ADC/DAC的接口设计、实时控制环路、以及工业级通信协议。嵌入式Linux在这里也很常见,但更多是作为上位机与底层控制板之间的桥梁,底层实时控制往往跑在RTOS甚至裸机上。
我个人的经验是,投这类岗位之前,你最好对以下概念有实际理解:PID控制的实际调参过程、ADC采样率与信号带宽的关系、中断延迟的测量方法、看门狗的设计策略。不是让你背概念,而是你要能说出你在哪个项目里用过、遇到了什么问题、怎么解决的。半导体设备的面试官基本都是技术出身,你糊弄不过去。
2.3 运动控制方向:中大力德的岗位需求
中大力德做减速器和运动控制,这类公司的嵌入式岗位核心是电机控制。具体来说就是FOC(磁场定向控制)、SVPWM(空间矢量脉宽调制)、编码器信号处理、多轴联动控制。
电机控制这个方向有一个特点:理论门槛高,但一旦入门,岗位匹配度极高。你需要理解Clarke变换、Park变换、电流环和速度环的设计、死区补偿、弱磁控制。这些听起来很吓人,但实际工作中你会发现,大部分时候你是在调参数和排查异常,而不是从头推导公式。
我建议想投这类岗位的同学,至少自己动手做过一个BLDC或PMSM的驱动项目。哪怕是用现成的开发板和例程,你也要把里面的每一行代码搞清楚。面试的时候,如果你能说出“我在调电流环的时候发现启动电流过大,后来把积分限幅调小解决了”,这比你说“我熟悉FOC算法”有说服力一百倍。
2.4 光电感知与智能硬件方向:光客科技与阶梯科技
光客科技涉及光电感知,阶梯科技做智能硬件方案,这两类公司的嵌入式岗位更偏向系统集成和快速落地。光电感知可能涉及图像传感器的驱动、MIPI接口、ISP调优、点云处理的基础知识。智能硬件方案则更杂,可能今天做BLE穿戴,明天做WiFi摄像头,后天做LoRa传感器。
这类岗位对工程师的广度和学习能力要求很高。你不需要在每个方向都做到专家级别,但你要能快速上手一个新平台、读懂一份新芯片的数据手册、在短时间内把驱动跑通。面试这类公司,面试官往往更看重你的项目经历是否多样、你是否能独立解决问题、你对新技术的敏感度如何。
我见过一个同学,简历上写了五个不同平台的项目,从STM32到ESP32到树莓派到Jetson Nano,面试官问他“你觉得哪个平台最不好用,为什么”,他答得头头是道,最后拿了SP。这就是这类岗位想要的素质:你踩过足够多的坑,你知道不同方案的优劣,你能在下一个项目里做出更好的选择。
3. 嵌入式校招的核心考察维度与准备策略
3.1 C语言与数据结构:永远的地基
不管投哪类嵌入式岗位,C语言都是必考项。但嵌入式岗位考C语言和互联网岗位考C语言完全不是一回事。互联网考的是算法题里的C语言,嵌入式考的是工程里的C语言。
什么叫工程里的C语言?举几个例子。指针与数组的区别,在嵌入式里不是理论问题,而是你写驱动时必须搞清楚的事情。volatile关键字,在互联网面试里可能只是八股文,在嵌入式里是你操作寄存器的生命线。static和const的用法,在嵌入式里直接关系到内存布局和代码安全性。位操作,在嵌入式里是你每天都要用的东西,寄存器配置、标志位管理、数据压缩,处处都是位操作。
我的建议是,准备嵌入式C语言面试,不要只刷LeetCode。你要做的是:找一份真实的芯片数据手册,比如STM32的参考手册,挑一个外设,比如UART或者SPI,用C语言把它的驱动从头写一遍。不参考任何现成代码,就对着寄存器描述写。这个过程会逼着你理解每一个寄存器的每一位是干什么的,会逼着你处理指针类型转换、内存映射、位域操作。写完这一遍,你对C语言的理解会上一个台阶。
数据结构方面,嵌入式岗位不会考太复杂的算法,但链表、环形缓冲区、状态机、队列这些你必须熟练。特别是环形缓冲区,在串口通信、ADC采样、日志系统中到处都是。你要能徒手写出一个线程安全的环形缓冲区实现,考虑读写指针的原子性、缓冲区满和空的判断、溢出处理。
3.2 操作系统与RTOS:从会用到了解原理
嵌入式岗位对操作系统的考察分两个层次。第一个层次是RTOS,比如FreeRTOS、RT-Thread、uCOS。第二个层次是嵌入式Linux。
RTOS的考察重点包括:任务调度策略、优先级反转与互斥量、信号量与队列的区别、中断与任务之间的通信、内存管理方案。这些问题不是让你背概念,而是要看你在实际项目中怎么用的。比如面试官问你“你在项目里为什么用消息队列而不是全局变量”,你要能说出全局变量在多任务环境下的竞态问题、消息队列的拷贝开销和同步机制。
嵌入式Linux的考察重点包括:设备树、驱动模型、字符设备驱动、平台设备驱动、根文件系统、启动流程、交叉编译。这个方向的门槛明显更高,但岗位薪资也更高。如果你要投Linux方向的岗位,我建议你至少完整地做过一次内核编译、设备树修改、驱动编写、文件系统制作的全流程。不需要多复杂,哪怕就是点亮一个LED、读一个GPIO按键,只要你把整个链路走通了,面试的时候就有东西可聊。
3.3 硬件基础:嵌入式工程师的分水岭
嵌入式工程师和纯软件工程师最大的区别就在于硬件基础。你不需要会画PCB,但你要能看懂原理图。你不需要会焊板子,但你要会用万用表和示波器。你不需要会设计电源,但你要知道LDO和DC-DC的区别、去耦电容的作用、上拉下拉电阻的选择。
面试中常见的硬件问题包括:上拉电阻和下拉电阻的作用与阻值选择、三极管和MOS管的开关特性、I2C总线的上拉电阻为什么不能太大也不能太小、SPI的四种模式、UART的波特率误差计算、ADC的采样时间和输入阻抗匹配。
这些问题看起来零散,但背后有一条主线:你要理解信号在电路里的行为。我经常用一个类比来解释:软件工程师看到的是0和1,嵌入式工程师看到的是电压在时间轴上的变化。你要知道0和1不是瞬间切换的,它有上升时间、下降时间、振铃、反射。你要知道一个GPIO输出高电平的时候,它其实是一个内阻几十欧姆的电压源。这些认知会直接影响你写代码的方式。
3.4 项目经历:面试官真正在意的东西
校招简历上最值钱的部分就是项目经历。但很多同学的项目经历写得像课程设计报告,面试官看一眼就过了。问题出在哪里?出在你只写了“做了什么”,没写“为什么这么做”和“遇到了什么问题”。
一个好的嵌入式项目描述应该包含这几个要素:项目背景与目标、你的具体职责、技术方案选型与理由、遇到的核心问题与解决过程、最终结果与数据。举个例子,不要写“使用STM32和MPU6050实现了姿态解算”,而要写“在四轴飞行器项目中负责姿态解算模块,对比了互补滤波和卡尔曼滤波的效果,最终选择互补滤波因为MCU算力有限且实时性要求高,通过调整滤波系数将姿态更新频率稳定在500Hz,解决了飞行中的抖动问题”。
后一种写法,面试官会顺着问:你为什么选互补滤波?卡尔曼滤波的运算量大概是多少?500Hz是怎么测的?抖动问题的根源是什么?这些问题你都能答上来,面试基本就稳了。
4. 从投递到面试:嵌入式校招的实操流程与避坑指南
4.1 简历筛选阶段的关键动作
嵌入式岗位的简历筛选,HR和技术面试官的关注点完全不同。HR看的是学校、专业、成绩、关键词匹配度。技术面试官看的是项目经历、技术栈、动手能力。
我的建议是,简历上一定要有明确的技术关键词。不要写“熟悉嵌入式开发”,要写“熟悉STM32F4系列,掌握UART/SPI/I2C/CAN等外设驱动开发”。不要写“了解操作系统”,要写“熟悉FreeRTOS任务调度与IPC机制,有实际项目移植经验”。关键词是给HR看的,具体描述是给技术面试官看的。
另外,简历上的项目经历要控制数量。校招简历最多写三个项目,每个项目写清楚你的贡献。我见过一份简历写了七个项目,每个都是一两句话,面试官根本不知道你擅长什么。宁可只写两个项目,但把每个项目的技术细节、你的思考过程、遇到的问题都写清楚。
4.2 笔试环节的应对策略
嵌入式校招笔试通常包含C语言题、硬件基础题、操作系统题、以及少量逻辑题。C语言题往往涉及指针、内存、位操作、结构体对齐。硬件题涉及电路基础、总线协议、元器件特性。操作系统题涉及RTOS和Linux的基础概念。
笔试的准备方法很直接:刷题加查漏补缺。但刷题不是目的,目的是通过做题发现自己的知识盲区。比如你做错了一道关于结构体对齐的题,你要去搞清楚对齐规则是什么、为什么要对齐、#pragma pack的作用是什么、不对齐会有什么后果。这样一道题就能带出一串知识点。
我个人的经验是,嵌入式笔试的通过率往往取决于你的基础是否扎实,而不是你刷了多少题。因为嵌入式笔试的题目类型相对固定,考来考去就是那些核心概念。你把C语言深度解剖、计算机组成原理、操作系统原理这三块搞透了,大部分笔试都能过。
4.3 技术面试的常见流程与应对
嵌入式技术面试通常分两到三轮。第一轮是基础技术面,考察C语言、硬件基础、操作系统基础。第二轮是项目面,深挖你的项目经历。第三轮可能是主管面或交叉面,考察你的学习能力、沟通能力、团队协作。
第一轮面试的应对策略是:会就是会,不会就是不会,不要装。嵌入式面试官基本都是做过实际项目的,你装不装他一眼就能看出来。遇到不会的问题,你可以说“这个我不太了解,但我的理解是……”,然后说出你的推理过程。面试官往往更看重你的思考方式,而不是标准答案。
第二轮项目面的应对策略是:提前把你的项目从头到尾梳理一遍,准备好每个技术选型的理由、每个问题的解决过程、每个数据的测量方法。面试官可能会问你“如果让你重新做这个项目,你会怎么改进”,这个问题你要提前想好。回答的时候要具体,不要说“我会优化代码结构”这种空话,要说“我会把中断里的处理逻辑移到任务里,减少中断延迟”。
4.4 面试中的高频问题与参考回答
我整理了一份嵌入式校招面试的高频问题清单,以及回答的思路框架。注意,这里给的是思路,不是标准答案,你需要结合自己的实际经历来填充。
| 问题类型 | 典型问题 | 回答思路 |
|---|---|---|
| C语言 | volatile的作用是什么 | 从编译器优化、寄存器操作、多线程共享变量三个角度回答,举实际例子 |
| 硬件基础 | I2C和SPI的区别 | 从线数、速率、拓扑、功耗、应用场景对比,说出你实际用过的场景 |
| RTOS | 优先级反转是什么,怎么解决 | 解释现象、危害、互斥量的优先级继承机制,举实际项目例子 |
| Linux | 设备树的作用是什么 | 从硬件描述与驱动分离、内核启动流程、实际修改经验三个层面回答 |
| 项目 | 你遇到的最大困难是什么 | 用STAR法则描述,重点说解决过程和从中获得的经验 |
| 综合 | 你为什么选择嵌入式 | 说真实原因,不要背模板,可以结合你的项目经历和职业规划 |
4.5 避坑指南:那些年我们踩过的坑
第一个坑:只投大厂,不投中小公司。嵌入式岗位的分布非常分散,很多细分领域的隐形冠军你可能都没听过。广和通在通信模组领域是头部,中大力德在减速器领域是龙头,但这些公司不一定在每个人的投递清单里。我的建议是,把视野放宽,多关注细分领域的优质公司。
第二个坑:简历上写“精通”,面试时一问三不知。嵌入式这行,写“熟悉”就够了,写“精通”就是给自己挖坑。面试官看到“精通”两个字,一定会往深了问。你写“精通STM32”,他可能问你STM32的启动流程、时钟树、中断向量表的重映射。你写“熟悉STM32”,他可能就问你会用哪些外设。
第三个坑:项目经历造假。这个不用多说,嵌入式面试官问几个细节就能识破。而且这行圈子不大,造假被发现的代价很高。
第四个坑:只准备技术问题,不准备行为问题。很多同学技术面过了,倒在HR面或者主管面。常见的行为问题包括:你为什么选择我们公司、你的职业规划是什么、你遇到过最大的挫折是什么、你怎么看待加班。这些问题没有标准答案,但你要提前想清楚自己的真实想法。
5. 嵌入式学习路线与长期竞争力构建
5.1 从校招到入职:前三年应该怎么走
校招拿到offer只是起点,入职后的前三年才是决定你职业高度的关键期。我的观察是,嵌入式工程师在前三年会分化成两种人:一种是一直在重复第一年经验的人,另一种是每年都在拓展能力边界的人。
前者的典型路径是:入职后接手一个模块,熟悉了之后就一直做这个模块,三年后还是只会这个模块。后者的典型路径是:第一年打好基础,把公司产品的技术栈摸透;第二年主动参与新项目,接触新的芯片平台或新的技术方向;第三年开始在某个细分领域建立自己的深度,同时保持对其他方向的敏感度。
我建议你在前三年至少做到这几件事:完整地跟过一个产品从立项到量产的全流程、独立负责过一个模块或子系统、读过至少一款芯片的完整数据手册和参考手册、在某个技术社区或内部技术分享中做过一次技术分享。这些事情不会自动发生,你需要主动争取。
5.2 嵌入式工程师的进阶方向
嵌入式工程师做了三五年之后,通常会面临方向选择。常见的进阶方向包括:系统架构师、技术专家、技术管理、产品经理。
系统架构师需要你有跨模块的技术视野,能做出技术选型和架构设计。技术专家需要在某个细分领域有深度积累,比如电机控制、通信协议、操作系统内核。技术管理需要你有带团队的能力,能协调资源、把控进度、培养新人。产品经理需要你理解市场需求,能把技术语言翻译成产品语言。
这几个方向没有优劣之分,关键看你的性格和兴趣。我见过技术很强但不喜欢带人的工程师,硬转管理后很痛苦。也见过技术一般但沟通能力很强的工程师,转产品后如鱼得水。我的建议是,在工作的前三年多尝试、多观察,找到自己真正擅长和喜欢的方向。
5.3 保持竞争力的几个习惯
嵌入式这行技术更新不算快,但也不慢。十年前大家还在用8位机,现在32位MCU已经白菜价。五年前RTOS还是加分项,现在已经是基本要求。嵌入式Linux的门槛在降低,嵌入式AI的门槛在升高。
保持竞争力的习惯有几个。第一,每年至少学一个新平台或新技术。不一定要学到多深,但要知道它能做什么、不能做什么、适合什么场景。第二,保持对硬件的敏感度。软件可以抽象,硬件不能抽象,你离硬件越近,你的不可替代性越强。第三,建立自己的知识管理体系。把你踩过的坑、解决的问题、学到的经验记录下来,形成自己的技术笔记。第四,保持输出。写博客、做分享、参与开源,输出是最好的输入。
5.4 关于嵌入式AI的一些观察
最近两年嵌入式AI的热度在上升,很多校招岗位也开始要求AI相关的能力。但我要泼一盆冷水:嵌入式AI目前还处于早期阶段,大部分岗位的需求是“能在嵌入式设备上跑通推理框架”,而不是“能设计AI模型”。
如果你想往这个方向走,我建议你先打好嵌入式的基础,然后再去学AI的部署和优化。具体来说,你需要了解TensorFlow Lite Micro、ONNX Runtime、CMSIS-NN这些推理框架,了解模型量化、剪枝、算子融合这些优化技术,了解NPU和GPU在嵌入式设备上的使用方式。
但不要本末倒置。嵌入式AI首先是嵌入式,然后才是AI。你连中断和DMA都搞不清楚,就去搞模型部署,那是空中楼阁。
6. 关于这批校招岗位的一些个人判断
回到这批校招企业。广和通的通信模组方向,适合C语言扎实、对协议栈和低功耗有兴趣的同学。芯慧联芯的半导体设备方向,适合对实时控制和信号处理有基础的同学。中大力德的运动控制方向,适合做过电机驱动项目、对控制理论有兴趣的同学。光客科技和阶梯科技的方向更偏系统集成,适合学习能力强、项目经历多样的同学。
我个人的体会是,嵌入式校招的竞争激烈程度在上升,但岗位的多样性也在增加。十年前嵌入式岗位主要集中在消费电子和工业控制,现在通信、汽车、半导体、AI、物联网都在招嵌入式工程师。这意味着你的选择更多了,但也意味着你需要更早地想清楚自己的方向。
最后分享一个我在面试中经常问的问题,也是我建议每个嵌入式应届生都问自己的问题:如果给你一块你从来没见过的开发板,一份数据手册,一个串口,你多久能让它跑起来?这个问题的答案,基本能反映你的嵌入式功底。如果你能在半天内让一个陌生平台的最小系统跑起来,那你的校招不会太差。如果你连从哪里开始都不知道,那可能需要再补补基础。
这个内容后续还可以这样扩展:针对每一类岗位,单独拆解面试题库和项目准备清单。如果你对某个方向特别感兴趣,可以顺着这个思路继续深挖。