职位题库

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

面向嵌入式软件工程师相关面试,围绕C语言、I2C、RTOS、调试、通信协议等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

388 道题目建议用时 1164 分钟专项面试练习

全部题目 388 道题

109

请介绍你负责的一个MCU加RTOS项目,从数据采集、任务处理到通信发送的完整流程是怎样的?

考察候选人对自己项目的整体把握,能否清晰描述系统架构、数据流和自身职责。
110

static修饰局部变量和全局变量分别有什么区别?volatile能否保证原子性?

考察C语言基础,特别是static和volatile的语义及使用场景。
111

请解释结构体内存对齐规则,并现场计算给定成员的大小及调整顺序后的变化。

考察对内存对齐的理解和实际计算能力,嵌入式开发中常涉及内存布局优化。
112

中断和任务之间如何传递数据?互斥锁和二值信号量有什么区别?优先级反转如何缓解?

考察RTOS中任务间通信与同步机制,以及实时系统常见问题的理解。
113

请实现一个环形缓冲区,并说明单线程与多线程(一读一写)下的注意事项。

考察数据结构实现能力及并发环境下的同步考虑。
114

请说明C语言和C++的主要区别,并结合嵌入式开发场景谈谈你的理解。

考察对C和C++核心差异的理解,以及在实际嵌入式开发中的选用考量。
115

请解释IIC和SPI的区别,并说明在什么场景下选择哪一种。

考察对两种常用串行通信协议的理解及选型能力。
116

当IIC通讯出现异常时,你会如何从硬件角度进行排查?

考察硬件调试能力和对IIC协议物理层问题的理解。
117

在RTOS中,任务是如何分配和调度的?请结合你的项目经验说明。

考察对RTOS任务管理机制的理解及实际应用能力。
118

请解释堆和栈的概念,并说明它们在嵌入式系统内存管理中的区别。

考察对内存分区的基本理解及嵌入式中的实际应用。
119

项目中 MCU 是如何选型的?你会重点考虑哪些指标?CPU 主频和 RAM/Flash 是不是越大越好?

考察候选人是否具备从需求出发进行 MCU 选型的系统思维,能否平衡性能、外设、功耗、成本等多方面因素,并理解资源并非越大越好。
120

遇到过比较典型的内存问题吗?举个例子

考察候选人对嵌入式内存问题的理解,能否识别常见内存错误(野指针、悬空指针、内存泄漏、数组越界、栈溢出等),并说明定位方法。
返回面试题库