职位题库

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

面向嵌入式软件开发工程师相关面试,围绕Cortex-M、DMA、D-Cache、缓存一致性、HardFault等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

5 道题目建议用时 15 分钟专项面试练习

全部题目 5 道题

01

Cortex-M 启动后从复位到进入 main,硬件和软件分别做了什么?

考察候选人对 Cortex-M 复位启动流程、启动文件作用、SystemInit 与 Bootloader 场景下向量表重映射的理解,以及排查启动跑飞问题的能力。
02

为什么中断里不能随便用 printf 或阻塞式互斥锁?

考察候选人对中断上下文限制、可重入性、阻塞操作危害以及 ISR 与任务间通信机制的理解。
03

volatile 解决什么问题?它能保证原子性和可见性顺序吗?

考察候选人对 volatile 语义、适用场景、与原子性和内存屏障区别的理解。
04

解释 HardFault 常见成因,以及你怎么从 CFSR/BFAR 定位?

考察候选人对 Cortex-M 异常调试机制、故障寄存器含义以及实际定位手段的掌握程度。
05

有 D-Cache 时,DMA 收发缓冲区为什么容易“数据对不上”?

考察候选人对 CPU Cache 与 DMA 一致性问题的理解,以及 Clean/Invalidate、对齐、非 Cache 区等工程处理手段。
返回面试题库