职位题库

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

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

103 道题目建议用时 309 分钟专项面试练习

全部题目 103 道题

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 区等工程处理手段。
06

请做一下自我介绍?

考察候选人的技术背景、项目经验与岗位匹配度,以及表达是否清晰、有重点。
07

介绍一个代表性项目:难点是什么,你怎么突破的,收获是什么?

考察候选人能否结构化描述项目,识别技术难点并给出有效解决方案,以及总结反思能力。
08

堆和栈有什么区别?static 关键字有哪些作用?

考察对嵌入式内存模型的理解,以及 static 在作用域、生命周期和链接属性上的应用。
09

什么是野指针?如何避免?malloc/free 场景怎么防?

考察对指针安全与动态内存管理的理解,以及嵌入式环境下的防御性编程习惯。
10

SPI 几根线?怎么工作?I2C 呢?MQTT 是什么,多组数据上网怎么设计?

考察对常用硬件通信协议和物联网应用层协议的理解,以及多数据上云的架构设计能力。
11

什么是死锁?产生死锁的必要条件有哪些?如何预防死锁?

考察对死锁概念、成因及预防策略的掌握,以及实际排查经验。
12

在边缘设备上部署AI模型时,如何进行模型量化?量化有哪些收益和潜在风险?

考察对模型量化原理、收益及精度影响的实践理解。
返回面试题库