职位题库

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

面向嵌入式开发工程师相关面试,围绕C语言、RTOS、操作系统、中断、内存管理等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

157 道题目建议用时 471 分钟专项面试练习

全部题目 157 道题

145

请解释线程同步与互斥的含义,并说明同步与阻塞之间的关系。

考察对同步、互斥、阻塞等基础概念的准确理解,避免概念混淆。
146

请说明TCP与UDP的区别、各自优缺点及适用场景。

考察网络基础掌握程度及能否结合嵌入式通信场景做协议选型。
147

请描述TCP三次握手和四次挥手的过程,并解释为什么建立连接是三次而关闭是四次。

考察对TCP连接生命周期及状态机的理解深度。
148

请结合你的项目,说明一个指针为什么不能从函数中返回?如果确实需要把函数内部的数据传出去,你会怎么设计?

考察候选人对栈帧生命周期、返回局部变量地址的风险以及替代设计(静态区、调用方缓冲区、堆分配)的理解,能否落到真实代码。
149

中断服务函数里为什么不能阻塞?请说明你项目中如何划分中断上下文与任务上下文的工作。

考察对中断上下文限制、临界区、任务唤醒机制的理解,以及实际工程中的职责划分。
150

DMA传输完成后,缓冲区什么时候可以复用?请描述你的判断依据和可能出现的错误现象。

考察对DMA完成标志、缓存一致性、双缓冲和读写竞争的理解,能否说清复用时机与排错路径。
151

从复位到进入main函数之间发生了什么?链接脚本和段初始化在其中起什么作用?

考察对启动链路、向量表、段初始化与链接脚本的整体理解,判断是否只停留在调例程。
152

你项目中用了UART/SPI/I2C,请说明主从关系、时钟来源,以及阻塞轮询和DMA各自适合什么场景。

考察对总线时序、错误处理和传输方式取舍的理解,而非只会调用收发接口。
153

请结合你的项目,说明复位后到main函数之前,MCU做了哪些事?

考察候选人是否理解启动链路,而非只会调用例程
154

中断服务函数里为什么不能阻塞?如果要在中断和任务间传递数据,你会怎么设计?

考察中断上下文约束与并发设计能力
155

你项目里用了UART/SPI/I2C,请说明主从关系、时钟来源和错误处理,并解释为什么选轮询、中断或DMA。

考察外设理解深度与方案取舍能力
156

项目里写了“实时”,请说明你最坏执行路径和任务优先级是怎么设计的。

考察实时系统分析与优先级设计能力
返回面试题库