职位题库

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

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

383 道题目建议用时 1149 分钟专项面试练习

全部题目 383 道题

277

请解释C语言中static关键字修饰局部变量、全局变量和函数时分别有什么作用?

考察候选人对C语言存储类、链接属性和生命周期的理解,这是嵌入式开发的基础。
278

请描述I²C总线从开始通信到结束的完整过程,ACK在哪些位置出现?

考察候选人对I²C协议时序的掌握程度,以及是否能清晰描述底层通信过程。
279

中断发生以后,程序如何进入中断处理函数,处理完后如何回到原来的位置?

考察候选人对中断响应机制和上下文保存恢复的理解,这是嵌入式底层开发的核心知识。
280

FreeRTOS中任务切换时需要保存哪些现场?为什么不能只保存函数地址?

考察候选人对RTOS任务切换底层机制的理解,是否能从寄存器层面解释上下文保存。
281

高优先级任务一直处于就绪状态,低优先级任务还有没有机会运行?请结合FreeRTOS调度机制说明。

考察候选人对FreeRTOS调度策略的理解,特别是抢占式调度和时间片轮转的结合。
282

static 修饰全局变量、局部变量和函数分别有什么效果?

考察对 C 语言存储类、链接属性和生命周期的掌握程度。
283

字节对齐的规则是什么?为什么要对齐,不对齐会怎样?

考察对内存对齐机制及其硬件原因的理解,以及结构体布局分析能力。
284

请解释volatile关键字的作用,它能否保证原子性?在中断和主循环共享变量时为什么必须使用volatile?

考察对C语言关键字底层语义的理解,以及中断与主循环共享变量场景下的正确使用。
285

互斥量和信号量有什么区别?信号量释放后内核如何决定唤醒哪个线程?

考察RTOS同步机制的底层实现与调度器行为,区分表面使用与深入理解。
286

请讲一个你项目中遇到的最难定位的bug,你是如何一步步定位并解决的?

考察真实项目调试经验、排查思路和工程素养,区分真正动手调试过与仅照例程修改的人。
287

设备在现场运行中突然出问题,你会如何定位?有哪些手段可以捞取信息?

考察系统层面的排查思路、信息收集手段和工程判断力,无标准答案但看思维完整性。
288

你如何看待嵌入式行业的发展方向?你未来想往底层走还是往应用走?

考察候选人的职业规划、行业认知和岗位匹配度,判断稳定性和方向一致性。
返回面试题库