面灵AI→

黑芝麻智能科技嵌入式二面:从项目链路一路追到多传感器汇聚

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

《面试题目》

  1. 先做自我介绍,并说明你和嵌入式/底层软件最相关的一段经历
  2. 你本科/研究生阶段哪些课对你现在做嵌入式帮助最大?为什么?
  3. 详细讲你的主项目:总体架构、数据从哪进到哪出
  4. 主项目里你遇到过的最难 bug 是什么?证据链怎么建立?
  5. 你用过哪款 MCU?时钟、存储、外设资源大概怎么配?
  6. 板上跑的是裸机、RTOS 还是 Linux?为什么这么选?
  7. 在 MCU 上你怎么评估 CPU 占用率?有什么坑?
  8. FreeRTOS 里任务延迟、软件定时器、硬件定时器怎么选?
  9. SPI 与 I2C 在速率、拓扑、出错表现上怎么对比?
  10. 讲一次 I2C 读传感器寄存器的完整时序
  11. 多路传感器数据如何汇聚到主控?总线和缓冲怎么设计?
  12. 激光雷达/深度相机这类大数据,为什么常常不直接全部丢给 MCU?
  13. 目标检测推理后,你还做哪些后处理?
  14. 手眼标定要标定什么?失败时常见现象是什么?

《参考解析》

第 4 题的「证据链」是整场面试的分水岭。 面试官要的不是「我改了个地方就好了」,而是一条能复现、能定位、能验证的链条:现象(偶现还是必现、复现条件、影响范围)→ 缩小范围(日志、示波器/逻辑分析仪、最小复现、新旧版本对比)→ 证据(某个中断的实际延迟、DMA 计数器、队列满的瞬间、校验失败点、内核 log)→ 根因与修改点,并说明为什么是治本而不是「改到好像好了」→ 验证(压测时长、边界条件、回归是否通过)。准备时按这五段写一份你自己的案例,比背任何八股都管用,因为它是唯一无法伪造的部分。

CPU 占用率怎么测,坑在哪。 两种常见做法:一是在空闲钩子/空闲任务里累计空闲时间,占用率 = 1 − 空闲时间占比;二是周期性地读 cycle 计数器统计忙闲比例。坑有几个:关中断时间、ISR 过重会让「占用」看起来正常但实时性已经烂掉——CPU 占用率衡量的是平均负载,不是最坏响应时间;采样周期选取本身有 trade-off,太长会抹平尖峰、太短则采样开销干扰被测对象;多核场景下单一百分比没有意义,要分核看。所以面试官问「有什么坑」时,标准答案应该带上「不单看这一个百分比,要结合栈高水位、队列深度、以及关键任务的最坏响应时间来一起判断」。

SPI 与 I2C 的对比要落到出错表现上。 SPI 是同步四线(SCLK/MOSI/MISO/CS),全双工、速率高、没有寻址机制——多从机靠片选线,所以引脚数随从机数增加;没有内置应答,时序模式(CPOL/CPHA)配错是最常见的故障。I2C 是两线(SCL/SDA)、有 7 位寻址、有 ACK/NACK 应答,布线省但速率低;典型故障是无 ACK(从机没响应或地址错)、总线被某个从机拉死(SDA 一直为低,常见于从机复位中途被打断)、以及时钟拉伸被主机忽略。选型应该按从设备手册和系统需求,而不是「谁更快」——低速状态量走 I2C/UART,高速数据流走 SPI/MIPI/USB/以太网。

I2C 读寄存器的完整时序。 标准流程是:START → 发 7 位从机地址 + 写位(0)→ 等 ACK → 发寄存器地址 → 等 ACK → 重复起始(Repeated START) → 发 7 位从机地址 + 读位(1)→ 等 ACK → 主机连续收字节,每收一个字节回 ACK,收到最后一个字节后回 NACK → STOP。面试通常会在最后追一句「如果从机不 ACK 你怎么办」——要能答出带超时退出、重试有限次,并且能在超时后通过手动发 9 个时钟脉冲(配合 GPIO 模拟)把被拉死的总线恢复出来。

多路传感器汇聚与「大数据不给 MCU」。 汇聚的设计要点是按带宽和实时性分流:低速状态量走 I2C/UART,高速点云/图像走 MIPI/USB/以太网;所有数据要打统一时间戳,否则多传感器融合会错位;缓冲用环形队列 + 帧头长度/校验字段来处理粘包半包;队列满时要有明确的背压策略(丢旧保新还是降频)。至于激光雷达、深度相机为什么不直接全丢给 MCU:带宽和算力都远超一般 MCU 的外设与处理能力,常见架构是「传感器 → SoC/工控机做感知 → MCU 只收控制指令和关键状态」,MCU 侧负责硬实时控制与安全停机。这个分工的关键是要提前定义清楚延迟预算和失败降级策略。

手眼标定与推理后处理。 手眼标定标的是相机坐标系到机械臂末端(或基座)坐标系的变换矩阵,通常分解成旋转和平移两部分;失败时的常见现象是定位偏差随距离线性放大(旋转标定不准)、或在不同位置偏差方向不一致(标定数据点覆盖不足)。推理后处理则是:置信度过滤 → NMS 去重叠框 → 坐标映射回原图/相机坐标系 → 跟踪与 ID 关联抑制闪烁,必要时加 ROI 限制或类别优先级;面试时要主动说清后处理耗时是否挤占了实时帧率,这是嵌入式岗位上很实际的关注点。