职位题库

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

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

162 道题目建议用时 486 分钟专项面试练习

全部题目 162 道题

133

请简单介绍你自己,并说明你在项目中主要负责哪部分工作。

考察候选人的表达结构、项目参与深度与职责边界,判断其是否真正承担过核心模块。
134

项目写代码时有没有统一的代码规范?命名、头文件、版权信息和注释一般怎么处理?

考察工程规范意识与团队协作习惯,判断代码是否具备可维护性和可移植性。
135

Cortex-M 中 PC、LR、SP 分别是什么?中断或异常发生时它们如何参与现场保存?

考察对 ARM Cortex-M 架构与异常进入/返回机制的理解,是否能把寄存器与栈帧联系起来。
136

STM32 从上电复位到进入 main() 经历了哪些步骤?中断向量表、栈初始化和 .data/.bss 初始化分别起什么作用?

考察启动流程与链接脚本、运行时初始化的理解,判断能否定位启动阶段问题。
137

程序进入 HardFault 时你会怎么定位?需要关注哪些寄存器或文件?栈溢出通常又该怎么排查?

考察故障定位方法论与调试工具使用能力,能否从现场信息反推根因。
138

请解释指针和数组的区别,并说明在嵌入式开发中为什么容易混淆?

考察对C语言基础概念的深入理解,以及在实际嵌入式编程中避免常见错误的能力。
139

为什么在嵌入式编程中需要使用volatile关键字?请举例说明。

考察对编译器优化和硬件交互的理解,以及正确使用volatile避免逻辑错误的能力。
140

在中断服务函数中为什么不能使用printf?如果需要在中断中输出调试信息,应该怎么做?

考察对中断上下文限制的理解,以及安全调试方法的掌握。
141

互斥锁和信号量有什么区别?在RTOS中如何根据场景选择?

考察对RTOS同步机制的理解,以及在实际设计中正确选型的能力。
142

请描述从复位到main函数之前,嵌入式系统启动过程主要做了哪些事情?

考察对嵌入式系统底层启动机制的理解,包括向量表、数据段初始化等。
143

请说明进程和线程的区别,并结合一个实际场景说明何时用多进程、何时用多线程。

考察对进程/线程本质区别、资源开销与适用场景的理解,以及能否结合嵌入式实际做技术选型。
144

多进程和多线程各有哪些优缺点?在嵌入式Linux项目中你会如何选择?

考察对并发模型的工程权衡能力,而非单纯记忆。
返回面试题库