面灵AI→

超聚变 嵌入式软件 二面面经:实习复盘与 UART/SPI/I2C/CAN

轮次
二面
时间
2026-09
来源
牛客网

《面试题目》

  1. 自我介绍
  2. 实习中主要负责哪些工作?哪一部分是你自己独立完成的?
  3. 有没有遇到过比较棘手的问题?当时是怎么一步步解决的?
  4. 如果让你复盘一下实习经历,你觉得自己最大的提升是什么?
  5. 当时工作时间是怎么样的?项目时间紧急怎么处理?
  6. 在项目中用过哪些通信协议?UART、SPI、I2C、CAN 这些都讲一讲
  7. Bootloader 怎么设计的?

《参考解析》

  1. 「独立完成的部分」要先划边界再讲细节:说清这块需求是谁拆的、你负责哪几个模块、依赖了谁、交付了什么,别把团队成果整体揽过来,也别把「我参与了」当答案。主管面判断的是你能不能独立扛事,所以落点放在:遇到不确定的地方你自己做了什么判断、有没有主动找人确认、最后交付质量如何。

  2. 棘手问题的答法是「现象—定位—处理—验证」:先描述现象与影响面,再说怎么一步步缩小范围(看日志、示波器或逻辑分析仪抓波形、二分定位、对比正常与异常环境),然后说改了什么,最后说怎么验证问题真的没了、有没有加防护避免复发。嵌入式岗位尤其吃这套,因为「能拿仪器定位」本身就是能力证明。

  3. 复盘提升题不要只说「技术能力提升了」:选一个自己有真实经历的方向,按「刚开始是什么状态 → 过程中遇到了什么 → 最后形成了什么能力」讲。可选的落点有四个:从只会按要求写代码到能自己定位问题;从只关心功能能不能跑到开始考虑异常处理、稳定性与可维护性;从闷头干到知道怎么跟硬件、测试、机械配合;从遇到问题第一时间问人到先自己查资料分析。有对比、有具体事例,这句话才立得住。

  4. 工作时间与紧急项目的答法要落到方法上:正常按团队节奏推进,临近联调节点或测试阶段工作量大会适当延长,这是实话;更重要的是补一句你的优先级方法——把任务按优先级拆开,先保核心功能与项目节点,优化类工作往后排,并主动同步进度和风险。只说「我可以加班」传递的信息量很低。

  5. 四种通信协议按「怎么用 → 原理 → 特点 → 为什么选它」讲:UART 讲异步串口、TX/RX、波特率、起始位与停止位,点对点、简单但没有时钟线;SPI 讲主从、SCLK/MOSI/MISO/CS,全双工、速度快、代价是线多、每个从设备一根片选;I2C 讲 SCL/SDA、设备地址、开漏输出与上拉电阻,一根总线挂多个外设、速度相对低;CAN 讲差分信号、多节点、非破坏性总线仲裁、错误检测与抗干扰,工业与车载常用。每一门都要能接一句「我当时用它是因为……」。

  6. Bootloader 设计要把 OTA 场景覆盖进去:典型职责是上电自检、判断是否进入升级流程、校验并跳转到 App。设计要点包括分区划分(Bootloader、App、下载区或备份区)、升级包完整性与签名校验、写入过程的断电保护、A/B 分区或备份区带来的回滚能力、跳转前关中断与向量表重定位。面试官顺着问下去多半是「升级中途断电怎么办」「新固件起不来怎么办」,所以校验、双备份、回滚标志位这三件事最好主动讲。