职位题库

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

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

20 道题目建议用时 60 分钟专项面试练习

全部题目 20 道题

13

请描述I2C协议的开始条件、结束条件以及仲裁机制。

考察对I2C协议细节的掌握,包括信号定义和多主机仲裁。
14

SPI有几根线?请对比I2C和SPI的速率。

考察对SPI和I2C物理层和性能的基本了解。
15

请描述UART的数据格式,以及发送一个字节需要传输哪些内容?

考察对UART帧格式的理解。
16

const 和指针组合有几种写法?分别限制什么?函数参数中如何选择?

考察对 const 与指针结合时语义的理解,以及在实际函数接口设计中的运用能力。
17

static 修饰局部变量、文件级变量和函数时,分别改变什么?头文件中定义 static 变量有什么问题?

考察对 static 关键字在不同上下文中的作用理解,以及头文件中使用 static 的潜在问题。
18

中断中修改、主循环中等待的变量,为什么开启优化可能导致死循环?volatile 解决什么问题,不能保证什么?

考察对编译器优化、volatile 关键字以及中断与主循环共享变量问题的理解。
19

小 RAM、长时间运行的 MCU 项目,为什么避免频繁 malloc/free?不用堆时,变长数据可以怎么管理?

考察对嵌入式系统中动态内存分配风险的认识,以及替代方案的设计能力。
20

任务跑飞或进 HardFault 时,如何判断是否栈溢出?FreeRTOS 中可用哪些手段排查?

考察对 RTOS 中栈溢出检测和 HardFault 调试的实践能力。
返回面试题库