职位题库

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

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

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

全部题目 388 道题

373

I2C 出现 NACK 或总线挂死,你怎么处理?请描述排查顺序和恢复机制。

考察对 I2C 协议细节的理解和实际排障能力。
374

OTA 过程断电怎么办?请说明你的设计思路和回滚机制。

考察对 OTA 升级可靠性和掉电保护的设计能力。
375

请介绍你最有含金量的项目,并说明你的个人职责边界。

考察项目真实性和深度,以及候选人在项目中的实际贡献。
376

请说明你在无标准库环境下实现 memset 和 memcpy 的考虑,以及为什么当时没有标准库。

考察候选人对基础内存函数实现细节、裸机/受限环境约束以及工程取舍的理解。
377

BootLoader 阶段是单核还是多核运行?单核启动完成后如何转为多核运行?

考察候选人对启动流程、多核唤醒机制和核间同步的理解。
378

Linux 中每个进程的内核地址空间映射通常相同,这会不会造成安全风险?

考察候选人对内核地址空间隔离、权限级别和用户态访问限制的理解。
379

请说明 C 语言中指针和数组的区别,并结合嵌入式场景说明各自适用情况。

考察候选人对 C 语言核心概念的理解,以及能否把语言特性与嵌入式内存使用场景联系起来。
380

请解释 const、static、volatile 的作用,并说明它们在嵌入式开发中的典型用法。

考察候选人对 C 语言关键修饰符的理解,以及能否结合硬件访问、并发和模块封装说明实际用途。
381

请描述 I2C 的完整通信时序,并说明出现 NACK 或总线被拉低时如何排查。

考察候选人对 I2C 协议时序、电气特性和故障排查的系统理解,而不只是会调用驱动接口。
382

请说明 Linux platform 总线、设备和驱动的匹配关系,以及设备树在其中的作用。

考察候选人是否理解 Linux 驱动模型的核心机制,能否从设备描述、驱动注册到匹配过程讲清楚。
383

请说明 Linux 字符设备驱动的基本框架,以及用户态 open 最终如何调用到驱动的 open。

考察候选人对字符设备驱动注册、设备节点和用户态系统调用路径的理解,判断其是否真正理解驱动框架而非只会套模板。
384

请介绍一个你主导或深度参与的嵌入式/驱动相关项目,说明项目目标、你的职责、关键技术难点和最终结果。

考察候选人能否清晰、结构化地介绍项目,并区分个人贡献与团队工作,验证项目真实性和技术深度。
返回面试题库