嵌入式面试如何准备?重点考察内容全梳理

最全面的面试八股文专栏涵盖全部会考察到的知识点:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk

一、基础算法与数据结构

基础编程能力是嵌入式岗位的核心。常见考点包括:

  • 排序、查找(快速排序、二分查找)
  • 字符串处理(逆序、匹配、转整数)
  • 指针与数组操作(内存拷贝、字符串反转)
  • 链表(反转、合并、环检测)
  • 栈与队列(含循环队列)
  • 位运算技巧(判断奇偶、交换值、统计1的个数)

建议多刷 LeetCode 中简单与中等难度的题目,掌握常见解题套路。

二、C语言基础

C 是嵌入式开发的基础语言,以下内容是高频考点:

  • 指针与指针数组
  • 函数指针、回调函数
  • constvolatile 关键字
  • 宏定义、条件编译
  • 内存分配(malloc/free)、内存对齐
  • sizeofstrlen、结构体填充
  • 编译过程与链接过程(头文件保护、静态库与动态库)

掌握实际代码写作,能解释概念并举例尤为重要。

三、STM32相关内容

针对裸机或 RTOS 开发,常考内容包括:

  • GPIO、USART、ADC、PWM 等外设配置流程
  • NVIC 中断配置与使用
  • SysTick、定时器基本原理
  • 使用 HAL 库与寄存器操作的区别
  • I2C、SPI 通信协议实现
  • 基于 FreeRTOS 的任务调度、信号量、队列使用
  • Watchdog、低功耗设计基础

建议能结合手上项目,准确描述外设初始化及调试思路。

四、Linux嵌入式系统

有些岗位偏向 Linux 应用层或驱动层开发,常考内容如下:

  • 进程与线程模型、进程通信(pipe、socket、共享内存等)
  • 文件操作接口(open/read/write/ioctl
  • Makefile、Shell 脚本基础
  • 设备树基本结构及修改
  • 常用调试工具(gdbstracedmesg
  • 简单字符设备驱动编写与注册流程
  • 多线程同步(mutex、semaphore、condition)

同时,也可能涉及 U-Boot、内核裁剪与交叉编译环境搭建等实操问题。

五、项目经验与软实力

项目是面试中的加分项,应能清晰描述以下几点:

  • 项目背景与角色职责
  • 系统架构与关键模块设计
  • 使用了哪些协议/驱动/中间件
  • 遇到的主要问题及解决方法
  • 项目的优化点(功耗、响应速度、资源占用)

此外,还可能被问到代码风格、团队协作、Git 使用习惯等细节。

全部评论

相关推荐

asodh:很久没有刷到过这种尸体暖暖的帖子了,你一定也是很优秀的mentor👍
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

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