职位题库

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

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

157 道题目建议用时 471 分钟专项面试练习

全部题目 157 道题

121

中断里为什么不能随便延时、打印、拿锁?

考察对中断上下文限制的理解,包括阻塞、不可重入函数、优先级反转和实时性影响。
122

轮询、中断、DMA 怎么选?

考察对三种数据搬运机制的理解和工程取舍能力,能否结合实时性、CPU 占用、数据量给出选择依据。
123

请介绍Linux驱动框架的基本组成和工作原理。

考察候选人对Linux驱动架构的理解,包括驱动模型、设备与驱动匹配、字符设备/块设备/网络设备等基本概念。
124

请解释SPI通信机制,包括其工作原理和特点。

考察候选人对SPI通信协议的理解,包括主从模式、时钟极性、相位、全双工等。
125

请介绍IIC的通信机制,并说明你是否使用过IIC和UART。

考察候选人对I2C和UART通信协议的理解及实际使用经验。
126

请说明Linux进程间通信有哪些方式,并简要介绍其特点。

考察候选人对Linux IPC机制的理解,包括管道、消息队列、共享内存、信号量、套接字等。
127

请说明虚拟内存的概念及其在Linux中的作用。

考察候选人对虚拟内存机制的理解,包括地址映射、分页、缺页异常等。
128

什么是 OTA?和 IAP、ISP 有什么区别?

考察对 OTA、IAP、ISP 基本概念的理解与区分,以及能否清晰表述三者的应用场景和差异。
129

一次完整的嵌入式 OTA 升级流程怎么走?请按步骤说明。

考察对 OTA 完整链路的掌握程度,包括发起、传输、校验、写入、跳转等环节,以及异常处理意识。
130

Bootloader 和 App 双分区一般怎么划分?起始地址和大小如何确定?

考察对 Flash 分区规划的理解,包括 Bootloader、App、备份区、参数区的地址分配和大小确定依据。
131

升级写到一半突然掉电,系统重启后应该处于什么状态?如何保证不变砖?

考察对掉电一致性和异常恢复机制的设计能力,能否利用备份区和标志位保证系统可靠。
132

如果让你从 0 做一个最小可用 OTA,你会如何拆模块,首版先实现哪些能力?

考察系统设计能力和工程取舍,能否定义最小可行产品并合理拆分模块。
返回面试题库