职位题库

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

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

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

全部题目 388 道题

361

你是否排斥做协议栈方向?你如何看待恒玄科技以及这个岗位的工作强度?

考察候选人的求职动机、对协议栈方向的接受度以及对工作强度的真实预期。
362

请设计一个每10ms产生一条数据、循环覆盖旧数据、随时可能掉电但重启后要尽量保住最近数据的Flash存储方案。

考察候选人在真实约束下设计存储系统的能力,重点看异常路径、掉电一致性、恢复时间和空间回收的综合权衡。
363

文件调用write返回成功,数据一定进存储介质了吗?fsync保证了什么,突然掉电还能不能保证数据在?

考察对写路径、页缓存、脏页回写和持久化语义的理解,判断候选人是否能把系统调用语义与底层介质行为区分开。
364

DMA读写缓冲区时为什么要考虑Cache一致性?CPU已改缓存但DMA读到旧数据,怎么处理?

考察对DMA与CPU缓存交互、内存序和驱动中正确同步手段的掌握。
365

中断上下文里为什么不能睡眠?自旋锁和互斥锁怎么选,自旋锁一直拿不到会怎么样?

考察中断上下文约束、锁的适用场景和并发风险判断。
366

请讲一下FreeRTOS中一个任务切换到另一个任务的完整过程:CPU需要保存什么,下次如何接着运行?

考察对RTOS任务切换底层机制的理解,而非仅会调用API。
367

中断发生以后,程序如何进入处理函数,又如何回到原来的位置?中断里哪些事不适合做?

考察中断机制与中断上下文编程约束。
368

中断和任务共用一个变量时,volatile能解决哪些问题,哪些解决不了?

考察对volatile语义边界和临界区保护的理解。
369

讲一下I²C从开始通信到结束的过程,ACK在哪里出现?SDA一直被拉低可能有哪些原因?

考察总线协议细节与硬件排障能力。
370

团队对方案有分歧时最后怎么决定?如果队友负责的部分没按时完成,你会怎么办?

考察协作中的具体行为与责任边界,而非空泛表态。
371

volatile 能解决什么,不能解决什么?请结合你的项目说明。

考察对 volatile 语义的准确理解,以及在实际项目中正确使用的能力。
372

为什么 ISR 里一般不做耗时操作?请结合你的项目说明如何设计。

考察对中断上下文和实时性影响的理解,以及中断服务程序的设计原则。
返回面试题库