职位题库

嵌入式软件开发工程师面试题库

面向嵌入式软件开发工程师相关面试,围绕C语言、自我介绍、内存管理、RTOS、实时性等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

107 道题目建议用时 321 分钟专项面试练习

全部题目 107 道题

85

volatile 在嵌入式里哪些场景必须用?不加通常会出现什么后果?

考察对编译器优化与硬件/并发可见性的理解,判断是否只会背定义,能否落到寄存器和实际现象。
86

结构体内存对齐规则是什么?为什么要对齐?#pragma pack 有什么代价?

考察对内存布局、对齐规则和打包代价的理解,判断能否解释原理而非只记结论。
87

中断服务函数里能做什么、不能做什么?为什么不宜随意 printf / malloc?

考察 ISR 边界意识,判断是否理解中断上下文限制及与 RTOS 的配合方式。
88

HardFault 发生后,你会先看哪些寄存器?常见根因有哪些?

考察异常定位能力,判断是否真正处理过死机问题,能否形成排查闭环。
89

CM7 和 CM4 的职责边界你是怎么划的,为什么不都放单核?

考察候选人对异构双核任务划分、实时性与功能隔离的理解,以及能否权衡复杂度与确定性。
90

OTA 状态机如果在 RECEIVING 阶段掉线,设备侧和上位机侧各自怎么恢复?

考察候选人对 OTA 状态机异常恢复、镜像完整性和现场可靠性的设计能力。
91

双槽元数据放 EEPROM 而不是 Flash 末尾,你当时怎么考虑的?

考察候选人对元数据存储位置选择、擦写冲突、寿命与掉电可靠性的综合权衡。
92

CM4 升级前的 hold 如果超时没 ACK,你会上报什么、会不会强行擦写?

考察候选人对多核升级中停核握手失败的处理原则、故障定位和可靠性取舍。
93

Modbus 线圈控制和本地 UI、远端上位机同时操作,怎么避免状态打架?

考察候选人对多写入口并发控制、单一数据源和持久化一致性的设计能力。
94

请做自我介绍,并重点介绍你最熟悉的一个嵌入式项目。

考察候选人的技术方向、项目深度、表达条理,以及项目与岗位的匹配度。
95

请介绍你在机柜监控项目中负责的模块、硬件资源和接口。

考察候选人是否真正参与过系统级项目,能否说清模块边界、硬件接口和资源分配。
96

你们的 OTA 为什么采用 A/B 双槽?升级失败时如何保证设备还能启动?

考察候选人对升级可靠性、Bootloader 校验、回滚机制和异常场景的系统性理解。
返回面试题库