华测导航

嵌入式软件开发一面面经

完整信息

10 条问法 · 13 道题

本篇目录

个人感觉是KPI面,面试官面试的时候感觉挺好的,没怎么拷打,问的基本上都回答上来了,但是两天后就进人才库了

一、候选人自我介绍

二、技术面试提问

1.Linux 基础

  1. 进程与线程:进程是资源分配最小单位,线程是 CPU 调度最小单位;线程共享进程资源,进程开销大,线程开销小。
  2. 进程间通信:匿名管道(父子进程)、有名管道、消息队列、共享内存(速度最快,配合信号量做互斥);候选人未能回忆起 Socket、信号等其余方式。
  3. 死锁:四大必要条件:互斥、占有且等待、不可剥夺、循环等待;打破任一条件即可避免,常用统一锁获取顺序。候选人没有实际遇到死锁,但遇到过线程资源竞争,通过互斥锁 + 条件变量解决多线程访问共享资源冲突。

2.AI 模型部署

  1. 模型量化:针对边缘设备资源受限,将 32 位权重 int8 量化;收益为减小模型体积、提升推理速度,YOLOv5s 量化后精度仅下降 1‑3%。
  2. 模型部署可行性评估:评估 NPU 算力、模型体积、检测精度。
  3. 项目遇到问题:多线程并发推理造成检测框错位,采用乱序执行、按序回收帧的机制,解决检测框错位、画面闪烁。
  4. 零拷贝 DMA‑buff 优化:原有 OpenCV 软编码 CPU 开销大、延迟高;改用 DMA‑buff 零拷贝,减少用户态‑内核态、硬件之间的数据拷贝,降低端到端延迟。

3.针对项目提问

三、职业规划

  1. 短期 1‑2 年:熟悉公司业务、开发流程,补齐技术,参与项目开发;
  2. 3‑5 年:可以独立处理项目问题,成长为资深嵌入式工程师;
  3. 愿意利用下班、周末时间主动学习补齐技术短板,边做边学。

四、候选人反问面试官

候选人提出 3 个问题:部门技术方向与产品、岗位技术栈、部门氛围与应届生培养机制。
面试官回复:

  1. 产品面向车载定位导航,分三代产品:一代输出姿态信息;二代实现厘米级定位;三代 TP‑BOX 融合定位 + 5G 网络网关,目前主力开发第三代车规产品。
  2. 软件分两大方向:MCU 端跑 FreeRTOS/AUTOSAR‑OS;SOC 端跑 Linux,自研驱动、内核、设备树、中间层与应用;要求一专多能,MCU、SOC 知识都需要有所了解。
  3. 应届生半年培养周期:1 个月公司级培训,之后部门专业培训;分配专属导师;参与新人练手 Mini‑Project;多数新人 4 个月左右具备入门能力,可以参与实际项目,年底转正答辩。
本篇目录
  1. 01
  2. 02
    进程与线程:进程是资源分配最小单位,线程是 CPU 调度最小单位;线程共享进程资源,进程开销大,线程开销小。
  3. 03
    进程间通信:匿名管道(父子进程)、有名管道、消息队列、共享内存(速度最快,配合信号量做互斥);候选人未能回忆起 Socket、信号等其余方式。
  4. 04
    死锁:四大必要条件:互斥、占有且等待、不可剥夺、循环等待;打破任一条件即可避免,常用统一锁获取顺序。候选人没有实际遇到死锁,但遇到过线程资源竞争,通过互斥锁 + 条件变量解决多线程访问共享资源冲突。
  5. 05
    模型量化:针对边缘设备资源受限,将 32 位权重 int8 量化;收益为减小模型体积、提升推理速度,YOLOv5s 量化后精度仅下降 1‑3%。
  6. 06
  7. 07
    项目遇到问题:多线程并发推理造成检测框错位,采用乱序执行、按序回收帧的机制,解决检测框错位、画面闪烁。
  8. 08
    零拷贝 DMA‑buff 优化:原有 OpenCV 软编码 CPU 开销大、延迟高;改用 DMA‑buff 零拷贝,减少用户态‑内核态、硬件之间的数据拷贝,降低端到端延迟。
  9. 09
  10. 10

相关公司