嵌入式春招规划

一、时间规划(建议提前3-6个月准备)

11月-12月:基础夯实期

  • 系统复习C/C++基础知识
  • 重温数据结构与算法
  • 梳理操作系统、计算机组成原理核心概念
  • 整理个人项目经历,准备项目描述

1月-2月:专项突破期

  • 深入学习嵌入式专业知识(RTOS、驱动开发、通信协议)
  • 刷题:LeetCode中等难度100题以上
  • 准备至少2个拿得出手的项目
  • 开始投递提前批简历

3月-4月:冲刺实战期

  • 密集面试,积累经验
  • 针对性补充薄弱环节
  • 持续优化简历和项目描述
  • 关注各大厂春招正式批次

准备嵌入式面试八股文就靠这套专栏了:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk

二、核心准备内容

1. 编程语言基础

C语言(必须精通)

  • 指针与内存管理(野指针、内存泄漏、栈溢出)
  • 结构体、联合体、位域的使用场景
  • volatile、const、static关键字深入理解
  • 函数指针、回调函数
  • 预处理器宏定义技巧

C++(加分项)

  • 面向对象三大特性
  • 虚函数与多态机制
  • STL常用容器
  • 智能指针(shared_ptr、unique_ptr)

2. 数据结构与算法

必须掌握

  • 链表(反转、环检测、合并)
  • 栈和队列(单调栈、优先队列)
  • 二叉树(遍历、BST、平衡树)
  • 排序算法(快排、归并、堆排序)
  • 动态规划基础题型

刷题策略

  • LeetCode按标签刷:数组、链表、树、动态规划
  • 每天2-3题,重点在于理解而非数量
  • 整理错题本,面试前重点复习

3. 嵌入式专业知识

硬件基础

  • MCU架构(ARM Cortex-M系列)
  • 存储器映射、寄存器操作
  • 中断机制与优先级
  • DMA工作原理
  • 常用外设:GPIO、UART、SPI、I2C、ADC、PWM

RTOS核心概念

  • 任务调度算法(抢占式、时间片轮转)
  • 任务间通信(消息队列、信号量、互斥锁、事件标志)
  • 优先级反转问题及解决方案
  • 内存管理策略
  • FreeRTOS/RT-Thread使用经验

驱动开发

  • 裸机驱动 vs HAL库 vs LL库
  • 设备驱动框架
  • 中断处理流程
  • 状态机设计模式

通信协议

  • UART、SPI、I2C时序图
  • CAN总线原理
  • Modbus协议
  • TCP/IP协议栈基础

4. 操作系统原理

  • 进程与线程区别
  • 进程调度算法
  • 死锁的四个必要条件及预防
  • 虚拟内存与分页机制
  • 文件系统基础

5. 计算机组成原理

  • 冯诺依曼架构
  • CPU流水线
  • Cache工作原理
  • 大小端字节序
  • 浮点数存储格式

三、项目准备策略

项目选择原则

  1. 技术深度:体现RTOS、驱动开发、协议栈等核心技能
  2. 完整性:从需求分析到测试验证的完整流程
  3. 亮点突出:性能优化、低功耗设计、异常处理等

推荐项目方向

  • 基于STM32的智能设备(如你的myrtos项目)
  • 无线通信系统(蓝牙、WiFi、LoRa)
  • 电机控制系统(FOC算法)
  • 传感器数据采集与处理
  • 小型操作系统内核实现

项目描述模板

项目名称:XXX系统
技术栈:STM32F103 + FreeRTOS + UART/SPI + ...
我的职责:
- 负责XXX模块的驱动开发
- 实现XXX功能,优化性能提升XX%
- 解决XXX难点问题
技术亮点:
- 采用DMA+双缓冲提高数据吞吐率
- 设计状态机处理复杂协议
- 实现低功耗模式,待机电流降至XXuA

四、八股文准备清单

C语言高频考点

  1. 指针与数组的区别
  2. malloc/free与new/delete区别
  3. 内存对齐原则及作用
  4. 函数调用过程(栈帧变化)
  5. 宏定义与内联函数对比
  6. extern "C"的作用
  7. 位操作技巧(置位、清零、翻转)
  8. 大小端判断与转换

嵌入式高频考点

  1. 中断与轮询的优缺点
  2. 如何防止按键抖动
  3. 看门狗的作用及使用场景
  4. 如何降低系统功耗
  5. UART通信丢包如何处理
  6. 任务栈溢出如何检测
  7. 优先级反转的三种解决方案
  8. 临界区保护方法
  9. 为什么要用volatile修饰寄存器
  10. Flash与RAM的区别及使用场景

操作系统高频考点

  1. 进程间通信方式(管道、共享内存、消息队列等)
  2. 线程同步机制(互斥锁、条件变量、读写锁)
  3. 死锁检测与预防
  4. 页面置换算法(LRU、FIFO、Clock)
  5. 用户态与内核态切换

数据结构高频手撕代码

  1. 链表反转(递归与迭代)
  2. 二叉树层序遍历
  3. 快速排序实现
  4. LRU缓存设计
  5. 两个栈实现队列
  6. 判断链表是否有环

五、注意事项

简历制作

  • 一页纸原则:精简到一页A4纸
  • 量化成果:用数据说话(提升XX%、处理XX路数据)
  • 关键词优化:匹配JD中的技术栈
  • 项目排序:最相关的项目放最前面
  • 避免错误:仔细检查拼写和格式

面试技巧

  1. STAR法则:Situation、Task、Action、Result
  2. 诚实原则:不会的不要硬答,可以说思路
  3. 主动引导:往自己熟悉的方向引导面试官
  4. 准备问题:面试结束前准备2-3个有深度的问题
  5. 复盘总结:每次面试后记录问题,针对性补充

投递策略

  • 海投+精投结合:大厂精心准备,中小厂海投练手
  • 内推优先:通过学长学姐、牛客网等渠道找内推
  • 时间把控:提前批>正式批>补录批
  • offer选择:综合考虑平台、薪资、发展空间

心态调整

  • 春招是持久战,保持节奏不要焦虑
  • 面试失败是常态,每次都是学习机会
  • 不要盲目攀比,找到适合自己的岗位
  • 保持作息规律,身体是革命的本钱

六、学习资源推荐

书籍

  • 《C Primer Plus》
  • 《深入理解计算机系统》(CSAPP)
  • 《嵌入式实时操作系统μC/OS-III》
  • 《ARM Cortex-M3权威指南》

在线资源

  • 牛客网(面经、笔试题)
  • LeetCode(算法刷题)
  • B站(野火、正点原子等教程)
  • GitHub(优秀开源项目学习)

公众号/社区

  • 嵌入式客栈
  • 嵌入式Linux
  • 电子发烧友
  • CSDN嵌入式专区

七、最后的建议

春招准备是一个系统工程,需要长期积累和短期冲刺相结合。

全部评论

相关推荐

评论
点赞
2
分享

创作者周榜

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