如果你准备投的是工业控制、自动化设备、工控板卡、PLC 配套、仪器仪表、工业网关、工业 HMI这类嵌入式岗位,面试里问的东西和普通消费电子、纯 MCU 应用岗还是有一点区别。
工业控制方向通常更看重这些能力:
- 单片机 / MCU 基础是否扎实
- 通信协议是否熟悉
- 实时性和稳定性意识够不够
- 外设驱动和现场总线理解是否到位
- 是否做过较完整的控制类项目
这里给大家整理了一套全面的工业控制嵌入式面试八股文资料:
一、C 语言与基础能力
1. volatile 关键字的作用是什么?在嵌入式里通常用在哪些场景?
2. const 和 #define 的区别是什么?在工程里分别适合怎么用?
3. 指针和数组的区别是什么?函数传参时要注意什么?
4. 结构体内存对齐为什么会发生?它对嵌入式开发有什么影响?
5. static 关键字在局部变量、全局变量、函数前分别有什么作用?
6. 中断服务函数里为什么不建议做太重的操作?一般应该怎么设计?
更多嵌入式面试八股文资料以及大厂面试题都收录在专栏了:
https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk
二、STM32 / MCU / 底层驱动
7. STM32 上电启动流程大致是怎样的?
8. GPIO 的输入输出模式有哪些?推挽输出和开漏输出有什么区别?
9. 串口通信中,波特率、起始位、停止位、校验位分别起什么作用?
10. SPI、I2C、UART 三种通信方式的区别是什么?各自适合什么场景?
11. DMA 的作用是什么?为什么工业控制项目里经常会用到 DMA?
12. 定时器在嵌入式项目中通常有哪些典型用途?
三、FreeRTOS 与实时系统
13. 进程、线程、任务三者有什么区别?在 MCU 上为什么通常讲“任务”更多?
14. FreeRTOS 中任务切换是怎么发生的?
15. 任务优先级应该怎么设计?高优先级任务是不是一定更好?
16. 二值信号量、计数信号量、互斥锁分别适合解决什么问题?
17. 什么是优先级反转?在实际项目中如何避免?
18. 消息队列在嵌入式项目中的典型使用场景有哪些?
19. 为什么不建议多个任务同时直接操作同一个硬件外设?
20. 工业控制场景下,看门狗一般怎么使用?它解决了什么问题?
四、工业通信与协议
21. RS232、RS485 有什么区别?为什么工业现场更常见 RS485?
22. Modbus RTU 的基本通信机制是什么?主从模式有什么特点?
23. Modbus RTU 一帧数据大致包含哪些部分?
24. 为什么 Modbus RTU 要做 CRC 校验?如果 CRC 错了应该怎么处理?
25. CAN 总线的特点是什么?它为什么适合工业和车载场景?
26. CAN 通信中的仲裁机制是怎么工作的?
27. 工业现场通信为什么特别强调抗干扰和超时重发机制?
五、工业控制项目常见问题
28. 工业控制类项目里,状态机为什么非常常见?适合解决什么问题?
29. 参数掉电保存一般怎么做?需要注意哪些可靠性问题?
30. 如果一个工业控制设备现场出现“偶发死机/通信异常/数据错乱”,你会怎么排查?