职位题库

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

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

479 道题目建议用时 1437 分钟专项面试练习

全部题目 479 道题

469

嵌入式系统中内存碎片是如何产生的?在内存分配方面可以采取哪些措施来避免或缓解?

考察对动态内存分配行为的理解,以及能否从分配策略和系统设计层面给出可落地的缓解方案。
470

请挑一个你最有挑战的项目讲一下,重点说明多传感器数据如何同步、时间戳如何对齐,以及采样率受什么限制。

考察候选人能否把项目讲清楚,并深入理解多传感器采集中的同步机制、时间戳设计和采样率瓶颈。
471

volatile、static、const 和结构体内存对齐分别有什么作用?请结合嵌入式场景说明。

考察C语言基础在嵌入式中的实际应用,尤其是编译器优化、存储期、只读性和内存布局。
472

中断从触发到进入ISR经历了什么?DMA搬图像时CPU同时访问同一块内存会冲突吗,怎么处理?

考察中断处理流程、DMA与CPU共享内存的冲突机制及缓存一致性处理。
473

I2C和SPI怎么选?你项目里用了SPI,请讲一下时序和四种模式的区别。

考察串行通信协议选型能力和SPI时序细节,包括时钟极性、相位和多从机管理。
474

给定一串陀螺仪采样数据,写一个不用动态内存的滑动窗口均值平滑,并说明窗口很大时如何优化、浮点累加是否有精度问题。

考察数组操作、环形缓冲、滑动和优化以及浮点累加精度意识。
475

请介绍一个你主导的嵌入式项目,并说明整体架构与模块划分。

考察候选人能否清晰描述项目背景、系统架构、模块职责与个人贡献,判断其系统设计能力和表达条理性。
476

请介绍你做过的一个嵌入式项目,并说明RTOS任务切换是如何实现的、切换时需要保存哪些内容。

考察候选人能否把项目经历与RTOS底层机制结合讲清楚,验证其对任务切换本质(上下文保存与恢复、调度触发点)的理解深度。
477

malloc/free与new/delete有什么区别?使用时有哪些不能混用的地方?

考察C与C++内存管理机制的差异,以及对构造/析构、未定义行为和异常安全的理解。
478

shared_ptr和unique_ptr分别适合什么场景?shared_ptr的循环引用问题如何解决?

考察对C++所有权模型的理解,以及能否识别共享所有权带来的生命周期问题。
479

系统出现卡顿但CPU占用率并不高,你会从哪些方向排查?

考察候选人在CPU不高的前提下,能否系统性地考虑IO、内存、锁竞争、调度和中断等非CPU瓶颈。
返回面试题库