职位题库

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

面向嵌入式软件开发工程师相关面试,围绕C语言、项目经验、RTOS、自我介绍、内存管理等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

163 道题目建议用时 489 分钟专项面试练习

全部题目 163 道题

157

请描述SPI收发数据的完整过程,并说明在什么场景下应使用中断方式。

考察对SPI时序、主从交互和中断使用场景的理解,以及驱动设计中的实时性权衡。
158

请说明CAN总线的拓扑结构、收发器输入以及仲裁机制。

考察CAN物理层与数据链路层的基础知识,尤其是仲裁机制和收发器信号的理解。
159

请设计一个CAN驱动层,并说明mailbox在CAN控制器中的作用。

考察CAN驱动分层设计能力以及对控制器硬件邮箱机制的理解。
160

请说明STM32从启动到执行用户代码的流程,以及代码刷写位置对启动的影响。

考察对MCU启动流程、存储器映射和向量表重定位的理解。
161

多线程里为什么需要锁?不加锁从CPU层面具体会出什么问题?

考察对并发本质的理解,能否从CPU缓存、指令重排和原子性角度解释数据竞争。
162

互斥锁在内核里是怎么实现的?加锁失败的线程去哪了?

考察对锁实现机制和线程调度阻塞唤醒流程的理解,区分“会用”与“懂原理”。
163

服务器上出现大量 TIME_WAIT 是什么原因?怎么处理?

考察TCP状态机理解及实际排查思路,能否区分主动关闭方与被动关闭方。
返回面试题库