嵌入式开发岗位面试12题详解:清晰准确,一篇读懂

嵌入式软件工程师的面试,既考查技术深度,也注重实际经验和表达能力。本文整理了一套典型的12题嵌入式面试题,逐一进行深入解析,帮助大家系统梳理知识、规范表达方式、增强答题自信。


在这里插入图片描述

1. 自我介绍怎么说?

建议结构化表达,突出关键词:

  • 当前/过往工作方向(如Linux驱动开发、RTOS调度、BSP定制);
  • 熟悉的平台或芯片(如NXP i.MX系列、STM32);
  • 项目中负责的模块(如电源管理、外设驱动、系统移植);
  • 补充团队合作能力、学习能力或技术分享经历。

示例模板
“主要从事嵌入式系统开发工作,熟悉Linux和RTOS平台,曾独立完成多个BSP开发、驱动移植与电源优化项目。对底层调试、系统架构有较强的理解能力,注重代码质量和系统稳定性。”


2. 多核异构是什么?

**多核异构(Heterogeneous Multi-core)**是指一个SoC中包含多种不同架构或能力的核心,例如:

  • Cortex-A系列:高性能,运行Linux等操作系统;
  • Cortex-M系列:低功耗,运行RTOS,用于实时控制任务。

典型平台如 NXP i.MX8MP:

  • A核跑Linux系统,适合图形界面、网络通信等复杂任务;
  • M核跑RTOS,负责采样控制、电机驱动等对时序要求高的场景;
  • 两者通过共享内存、中断、RPMsg等机制通信。

3. RTOS 与 Linux 同时要使用 I2C,怎么协调控制权?

核心问题是避免两个系统同时访问同一 I2C 控制器,造成总线冲突。

常见解决方案

  1. 主从结构(推荐):Linux作为主控,RTOS通过共享内存/RPMsg发送I2C请求,由Linux完成实际访问。
  2. 时间分片使用:RTOS与Linux访问不同设备,或通过信号同步、锁机制,保证访问互斥。
  3. 物理隔离:系统中存在多个 I2C 控制器,分别绑定给 Linux 与 RTOS。

4. Linux 下 I2C 驱动框架怎么理解?

I2C 驱动模型由三层组成:

层级功能描述结构体
Adapter控制器驱动,操作寄存器i2c_adapter
Client表示连接的I2C设备(如EEPROM)i2c_client
Driver驱动逻辑,负责probe、读写i2c_driver

通过设备树匹配 compatible 字段,系统在启动时完成设备与驱动的自动绑定。


5. 有没有处理过系统调度问题?

常见的调度问题如:

  • UI卡顿;
  • 后台任务耗时高;
  • 实时任务被延迟。

处理方法包括:

  • 调整线程优先级或使用实时调度策略(如 SCHED_FIFO);
  • 使用 CPU 亲和性避免高负载线程集中在某个核心;
  • tophtopperf 工具分析瓶颈来源。

6. 系统卡顿,怎么排查?

排查思路五步走:

  1. CPU负载top 查看是否高占用;
  2. 内存问题:是否频繁swap或发生OOM;
  3. IO问题iotop 查看是否某进程读写阻塞;
  4. 中断/驱动问题:查看 /proc/interruptsdmesg 日志;
  5. 使用perf分析函数耗时:查找热点函数或系统调用瓶颈。

7. 对 RTOS 的实时性了解多少?

RTOS(如FreeRTOS、ThreadX)特点是:

  • 响应时间可控,满足硬实时要求;
  • 支持任务优先级调度;
  • 中断响应快,任务切换延迟低(μs级);
  • 适合采样、控制等时间敏感任务。

举例:一个定时200Hz的电机控制任务,RTOS可以保持周期稳定、延迟小于50us。


8. 遇到过比较复杂的问题吗?

答题建议

  • 表达清楚问题、过程、定位、解决;
  • 展示逻辑能力、分析手段。

实例
触摸屏偶尔断连,初判为硬件故障,后用逻辑分析仪发现SPI片选信号提前释放,驱动中补充片选延时后解决。体现了软硬结合调试思维。


9. 电机控制一般怎么实现?

常见控制手段:

  • PWM 控制速度;
  • GPIO 控制方向;
  • 编码器 获取反馈;
  • PID 控制器 实现闭环控制。

结合RTOS调度定时任务 + 外设中断读取编码器,是常见的电机控制实现方案。


10. 有做过电源管理相关的吗?功耗怎么优化?

常见的功耗优化手段:

  • PMIC 配置:控制输出电压、顺序;
  • Regulator 框架:在Linux中动态启停供电;
  • DVFS:根据负载调整CPU频率/电压;
  • Runtime PM:设备空闲时自动挂起;
  • 休眠唤醒流程调试:使系统进入 suspend 节能状态。

应用中通常能将系统功耗从几瓦降至亚瓦级。


11. 加班能接受吗?

建议表达方式:

“可以接受适度加班,特别是在项目节点或问题集中阶段,重视效率与结果导向。”


12. 有什么想了解的?

可从以下角度提问:

  • 团队协作模式(是否Code Review、CI/CD流程);
  • 项目开发周期与交付方式;
  • 公司对嵌入式/边缘AI/车载/低功耗方向的发展规划;
  • 岗位是否有横向学习或平台支持机制。

总结

这12个问题覆盖了嵌入式岗位常见的技术、项目与软技能考察点。建议结合自身经验准备个性化答案,同时掌握通用答题框架,灵活应对各种面试场景。

欢迎分享给身边的嵌入式朋友,也欢迎在评论区讨论你的高频面试题!


📺 视频教程请关注 B 站:嵌入式 Jerry
📘 更多技术资料可关注同名公众号“嵌入式 Jerry”获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值