嵌入式面试常考八股文汇总

嵌入式岗位面试中,除了项目经历,面试官也很喜欢围绕基础知识、单片机原理、RTOS、通信协议、Bootloader、C语言底层细节等内容展开提问。

下面给大家整理了 40 个嵌入式面试高频题目,适合用来查漏补缺、系统复习。

一、C语言与基础知识

  1. volatile 关键字的作用是什么?哪些场景必须使用?
  2. const#define 的区别是什么?
  3. 指针和数组的区别是什么?
  4. malloccallocrealloc 的区别是什么?
  5. 结构体内存对齐的原理是什么?为什么要进行内存对齐?
  6. 大端模式和小端模式有什么区别?如何判断当前平台的字节序?
  7. static 关键字在局部变量、全局变量、函数中分别有什么作用?
  8. 什么是野指针?什么是内存泄漏?如何避免?
  9. 函数指针的作用是什么?在嵌入式中有哪些应用场景?
  10. extern 的作用是什么?

更加全面的嵌入式面试八股文和大厂面试题都整理在专栏了:

https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk

二、STM32 / MCU 基础

  1. STM32 上电后的启动流程是怎样的?
  2. STM32 的启动模式有哪些?Boot0 / Boot1 有什么作用?
  3. GPIO 的工作模式有哪些?推挽输出和开漏输出有什么区别?
  4. 中断的执行流程是怎样的?中断服务函数里一般要注意什么?
  5. NVIC 的作用是什么?中断优先级是怎么管理的?
  6. 定时器有哪些常见用途?基本定时器、通用定时器、高级定时器有什么区别?
  7. PWM 的原理是什么?如何通过 PWM 控制电机速度?
  8. ADC 的采样原理是什么?如何提高采样稳定性?
  9. DMA 的作用是什么?什么场景下适合使用 DMA?
  10. 看门狗分为哪几种?独立看门狗和窗口看门狗有什么区别?

三、RTOS 实时操作系统

  1. 什么是 RTOS?它和裸机开发的区别是什么?
  2. RT-Thread 和 FreeRTOS 的任务调度机制是怎样的?
  3. 任务、线程、进程三者有什么区别?
  4. 什么是临界区?如何避免临界资源冲突?
  5. 信号量和互斥锁有什么区别?
  6. 消息队列的作用是什么?适用于哪些场景?
  7. 事件组和消息队列有什么区别?
  8. 为什么会发生任务死锁?如何避免?
  9. 任务堆栈溢出通常有哪些表现?如何排查?
  10. 什么是优先级反转?如何解决优先级反转问题?

四、通信协议

  1. UART、RS232、RS485 三者有什么区别?
  2. IIC 和 SPI 的区别是什么?各自适用于什么场景?
  3. Modbus RTU 协议的基本格式是怎样的?
  4. Modbus 中保持寄存器、输入寄存器、线圈、离散输入有什么区别?
  5. 为什么 Modbus 通信中会出现超时、CRC 校验错误、收发异常?
  6. TCP 和 UDP 的区别是什么?
  7. MQTT 协议的特点是什么?为什么物联网项目常用 MQTT?
  8. USB 通信的基本原理是什么?
  9. CAN 总线有什么特点?和 RS485 相比有什么区别?
  10. Bootloader 和 OTA 升级的基本实现思路是什么?

结尾总结

以上这些题目基本覆盖了嵌入式面试中的高频考点,尤其是 C语言基础STM32 外设RTOS通信协议Bootloader/OTA,几乎都是面试中的重点内容。

全部评论

相关推荐

不愿透露姓名的神秘牛友
04-22 13:08
Data_Seven:真不知道这些企业哪来的成就感
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
04-30 18:05
空屿编号:你把墨镜摘下来是不是这样😭
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务