职位题库

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

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

141 道题目建议用时 423 分钟专项面试练习

全部题目 141 道题

109

如果项目里要做一个充电/电源管理状态机,你会怎么设计?

考察候选人能否把充电/电源管理流程拆成可维护的状态机,并覆盖异常保护、分层设计和可诊断性。
110

I2C 读写 PMIC/充电芯片寄存器时,如何保证配置可靠?

考察候选人对I2C总线时序、寄存器访问约束、错误恢复和多任务互斥的工程化处理能力。
111

ADC 采样不准时,你从哪几层排查?

考察候选人能否分层排查ADC精度问题,区分硬件、配置、软件和校准因素,并用基准源验证。
112

中断里能做什么、不能做什么?你怎么划分 ISR 和任务?

考察候选人对中断上下文限制、ISR与任务分工、共享数据保护和实时性设计的理解。
113

请简单介绍一下自己,重点说说你做过哪些嵌入式相关项目?

考察候选人的背景与岗位匹配度,以及能否用结构化方式讲清项目中的职责、技术细节和结果。
114

选型时你会怎么区分 Cortex-M0/M3/M4/M7 这类内核?

考察候选人对 ARM Cortex-M 系列内核差异的理解,以及能否结合主频、外设、功耗、封装和生态做工程选型,而非只背内核名称。
115

C 代码最终是怎么变成 MCU 能执行的机器码的?

考察候选人对嵌入式 C 从源码到可执行镜像的完整工具链流程的理解,包括预处理、编译、汇编、链接和下载执行。
116

STM32 上电后到 main 之前,大致经历哪些步骤?

考察候选人对 MCU 启动流程的理解,包括向量表取址、Reset_Handler、.data/.bss 初始化、SystemInit 以及 Bootloader 场景。
117

中断到来后,硬件和软件分别做了什么,CPU 如何找到 ISR?

考察候选人对 Cortex-M 中断响应全流程的理解,包括外设标志、NVIC 仲裁、硬件压栈、向量表查表、ISR 处理和返回恢复。
118

请介绍你在实习中接触过的通信协议(如Modbus RTU、I2C),说明其数据帧格式以及你是如何配置的。

考察候选人对常用嵌入式通信协议的理解深度,包括帧结构、配置方式和实际使用经验。
119

请说明SoC的选型思路:你如何计算所需资源并决定选用哪款芯片?

考察候选人是否具备从需求出发进行芯片选型的系统思维,包括算力、存储、外设和成本等维度的权衡。
120

请解释进程和线程的区别,并说明在嵌入式场景下如何选择。

考察操作系统基础概念的理解,以及能否结合嵌入式资源受限场景做出合理选择。
返回面试题库