嵌入式软件开发找不到实习咋办?

很多同学找嵌入式实习,投了几十份简历没回应,第一反应是:是不是嵌入式岗位太少了?

说实话,岗位确实没有前几年那么好拿,但更常见的问题不是“完全没机会”,而是简历和能力没有让面试官相信:你来了以后能上手干一点真实工作。

结论先放前面:找不到实习,不要先疯狂海投,先把自己从“学过嵌入式”改造成“能证明自己做过嵌入式开发”。

一、先判断你卡在哪一层

嵌入式实习通常卡在三类问题:

第一类,技术栈太散。

简历上写 C、C++、STM32、FreeRTOS、Linux、CAN、SPI、I2C、TCP/IP,但每个都只停在“看过教程”。面试官追问一个中断、DMA、任务调度、指针越界,就答不深。

第二类,项目太像课程实验。

点灯、串口打印、OLED 显示、温湿度采集不是不能写,但如果没有“为什么这么设计、遇到什么问题、怎么调试定位、怎么优化”,它很难支撑实习面试。

第三类,投递方式太被动。

只在招聘软件上一键投递,不改简历,不看 JD,不找内推,不复盘已投岗位,最后变成“投了很多,但每一份都不精准”。

二、先选一个主方向,不要什么都补

嵌入式实习大致可以分几条线:

MCU 应用开发:

重点是 C 语言、STM32/其他 MCU、GPIO、UART、SPI、I2C、CAN、ADC、DMA、中断、定时器、FreeRTOS。

嵌入式 Linux 应用:

重点是 Linux 基础、进程线程、Socket、文件 IO、串口、交叉编译、Makefile/CMake、基本调试。

驱动/BSP 方向:

重点是寄存器、设备树、字符设备驱动、中断、platform 驱动、I2C/SPI 驱动框架、内核编译。

如果你现在没有实习,建议先别三个方向一起冲。选一个最容易做出项目闭环的方向,比如 MCU + FreeRTOS + 通信协议,或者 Linux C + Socket + 串口网关。

准备嵌入式面试八股文我推荐这个专栏,真的很全面,很深入:

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

三、补一个能讲 10 分钟的项目

不要再堆“做了一个智能小车/环境监测系统”这种标题。面试官更关心你负责了什么。

一个合格的嵌入式实习项目,至少要能讲清楚:

系统整体架构是什么;

用了哪些外设和通信协议;

数据从哪里来,到哪里去;

中断、DMA、任务、队列有没有实际使用;

遇到过什么 bug,怎么定位;

有没有考虑异常情况,比如断线、丢包、缓冲区满、任务阻塞;

你写的代码和网上 demo 有什么区别。

比如项目可以这样包装:

“基于 STM32 + FreeRTOS 的多传感器采集与 CAN/UART 通信系统”

这个项目比“温湿度采集系统”强,因为它能展开任务划分、队列通信、协议封包、串口 DMA、CAN 收发、中断处理、数据缓存、异常恢复。

四、简历不要写成课程表

很多嵌入式简历最大的问题是:技能很多,但没有证据。

不要只写:

熟悉 C 语言、STM32、FreeRTOS、I2C、SPI、CAN。

可以改成:

使用 STM32 完成 UART DMA 接收、CAN 报文收发、I2C 传感器采集;基于 FreeRTOS 将采集、解析、通信拆分为多个任务,通过队列传递数据,并处理串口粘包、缓冲区溢出等问题。

这两句话的差距很大。前者像自评,后者像经历。

五、找实习时别只盯“大厂嵌入式”

如果你现在一份实习都没有,第一目标不是一步到位进大厂,而是拿到第一段真实开发经历。

可以投这些岗位:

嵌入式软件实习生;

单片机开发实习生;

Linux C 开发实习生;

测试开发/硬件测试里的嵌入式脚本岗位;

车载、机器人、工业控制、物联网公司的软件实习;

小公司 MCU 项目维护岗位。

第一段实习的价值是把你从“学生项目”带到“真实工程”。有了真实 bug、真实需求、真实协作,后面再跳会容易很多。

六、没有实习,也要造“准实习经历”

如果暂时拿不到实习,就用 4 到 6 周做一个像样的工程项目。

建议节奏:

第 1 周:补 C 语言、指针、结构体、volatile、内存、位操作。

第 2 周:补 MCU 外设,重点 UART、定时器、中断、DMA、CAN/I2C/SPI。

第 3 周:引入 FreeRTOS,做任务、队列、信号量、定时器。

第 4 周:做协议和上位机/网络通信,形成完整数据链路。

第 5 周:补调试记录,整理 bug、优化点、测试方法。

第 6 周:重写简历,开始定向投递和模拟面试。

项目不怕小,怕没有工程味。

七、面试前要准备这些问题

  1. C 语言中 staticvolatileconst 分别有什么用?
  2. 指针越界和野指针怎么排查?
  3. 中断里为什么不能做太耗时的事?
  4. UART DMA 接收不定长数据怎么处理?
  5. SPI、I2C、UART、CAN 的区别是什么?
  6. CAN 仲裁机制是什么?
  7. FreeRTOS 任务调度的基本原理是什么?
  8. 队列、信号量、互斥锁分别适合什么场景?
  9. 任务栈溢出怎么排查?
  10. 嵌入式项目里如何定位偶发死机?
  11. Linux 下进程和线程有什么区别?
  12. Socket TCP 和 UDP 的区别是什么?
  13. Makefile 的基本规则是什么?
  14. 你项目里最难的 bug 是什么?
  15. 你的项目哪些代码是自己写的?
  16. 如果串口丢包,你会从哪些方向排查?
  17. 如果系统实时性不够,你怎么优化?
  18. 如果设备掉线,你的软件怎么恢复?
  19. 简历上的 FreeRTOS 你用到了哪些机制?
  20. 你为什么想做嵌入式软件?

找不到实习不是终局,但它是一个提醒:你需要把“我学过”变成“我做过、调过、解释得清楚”。嵌入式面试很现实,代码、项目、调试经验、底层理解,哪怕每一项都不完美,只要能形成闭环,就比堆一堆空泛技能强得多。

全部评论

相关推荐

大牛客人1:找到了正确询问简历的方法
点赞 评论 收藏
分享
06-05 20:50
门头沟学院 C++
就业备战策略错误,跑去看计网视频等等,最应该做的是先做好项目再直接背八股刷算法的。近些年发现到了个人有严重缺点,缺乏规划和执行力。还是学生思维的感觉,还是喜欢学习高等数学那种学习方式学习,花精力可以接近优秀的学生。相比干程序员、找工作,不像考研、几本书摆在那、一题一题刷。程序员,要学的多,要背八股,要刷力扣,要做项目。个人从小属于语文课本几乎一篇课文都不会背,数学马马虎虎,初三能有135-140+,高中一般,班上学习环境比菜市场差多了,语文课和晚自习噪声震天响,上课时间有人会让我递纸条递一节课,上语文课后面难说看黄片(记得初中时晚自习最后面,我班男生漏*给女生看),高中三年我几乎没打开语文教材,坐我桌子附近女生家庭条件差(我也确实好不到哪去,普通农村人家),我真心想帮她,给她讲解知识,她不耐烦还给她讲题(是圣母心还是脑子不好我觉得都有)。我高考班上第一上二本多一点。考研第一年也超过复试线10几分(考南信大其实复试随便准备一下就行了,我不,我不开心,同时也觉得数学考110左右,想考更高),我谈恋爱分手了(没错就是和上面那个女生),考研期间我一半精力再感情上,一战没上。后面考上了。研一就开始学编程,磨磨唧唧一个人,算法都没刷多少,时间也花在学上了,学得也差,春招5月签了16万的offer,不满意,挺到6月拿到25万的offer,纯粹是因为通信背景和面试太简单太简单。面试一面让你自己介绍计算机网络知识🌝,我就说OSI,三次握手。二面全是问天线,三面问20多个shell。直接拿offer了。岗位是通信*,技术栈是C++。工作一年半,加班加到麻(平均每个月100+小时),有同事干到200+。被裁是公司大项目没中标开始的。一方面自己菜。现在在家半年马马虎虎背了100多到算题,做了个项目,工作的项目还没准备好。如果运气好,这次能度过,找到20W+的开发工作,我不知道还会不会重蹈以前覆辙,我已经尝到痛了,发现自己问题了。我想我以后要贴一张警示语放在桌子前面(不过感觉用处只能起到一点点)。做人吧,与世无争的心态,有一些要好的朋友,不过我也几乎不主动打电话给他们,开心的事会分享给他们,难过的事跟他们抱怨,还不够成熟。个人感觉自己干啥都随缘,玩联盟,打了多少年上过一次黄金,学习的话,以前这学历还凑合着能用用,现在只能说太普通。2018年后也没谈过对象,真不知道在干嘛,浑浑噩噩。其实我觉得大部分人坚持都能做好想做的事,反正我没做到。对不起父母。让父母操心。我的表达跟我的脑子还有人生一样混乱。几天前过生日,我妈叫我买蛋糕,给我200红包我拿到蛋糕,我哭了,他们没看见(也可能看见了)。我有忍耐力,可是社会不会等着我,程序员生涯可能也到头了。就这样吧。没有恒心的人建议逃离程序员。
我的求职进度条
点赞 评论 收藏
分享
评论
点赞
7
分享

创作者周榜

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