🔥【26届嵌入式】基础薄弱参考学习路线

********************

1741850860463
alt

大家问的很多的问题:非科班,研究生方向也和嵌入式不相干,现在想转嵌入式还来得及不,学习路线应该如何规划

答:首先,你如果认准嵌入式;方向以后,那么现在就是最好的时候,付诸全力准备。还有半年的时间,全力以赴,瞄准方向,也能取得一定的结果。往往就是摇摆不定中错失机会。

其次,关于学习路线,项目和实习zui重要,两者起码得有一个,所以这个是你当下最需要考虑的事情。建议你先花两三天,根据自己的情况,制定一个学习规划或者说时间规划。

**再次,**如果你只是为了应对校招,可以给你个粗略的参考路线,可分几个阶段,下面会介绍

最后,涉及到的嵌入式的知识,比如32、linux这些,你可以先过一遍基础部分(过起来相对快些),之后靠项目加深理解。没必要每个部分都掌握。能熟练掌握项目中涉及的部分即可。

除了学习路线,最后一点是秋招中更重要的,请大家耐心看到最后

一、学习路径总览

分阶段学习,保证知识体系完整

阶段学习目标时间(周)核心内容
第一阶段:夯实基础 掌握 C 语言、数据结构、计算机基础 4~6 C 语言、C++、计算机基础(操作系统、计算机网络)、算法
第二阶段:嵌入式开发能力 STM32 开发 / Linux 开发 8~12 STM32 HAL 库、FreeRTOS、Linux 多线程编程、网络编程、驱动开发
第三阶段:项目实践 通过项目熟练应用技术 4~6 STM32 项目 / Linux 服务器开发 / 机器人开发
第四阶段:面试冲刺 整理简历,模拟面试 2~4 八股文、算法、项目复盘

基础薄弱同学/转行,需要具备的基本技术栈和学习思路:

①编程语言:C/C++/Python等,c是基础,必须掌握,建议再学个C++(一周速通黑马基础,之后通过刷题熟练)

②计算机基础知识:

  • 操作系统(没有时间可以先不系统学,看面经学习,哪里不懂单独学)
  • 计算机网络(湖工大教书匠一周速通基础,之后看面经)
  • 数据结构和算法(直接刷题,哪里不会学哪里,目标中小厂,可以优先刷hot100)
  • 计算机组成原理(可暂时不学)

③嵌入式能力:

  • Stm32(总体学习HAL库开发,熟悉通信总线。整体过一遍,之后通过项目熟悉其中一些知识点即可)
  • Linux(基础指令学习,交叉编译链,多线程,socket编程等等,主要是通过项目熟悉)
  • 上面两个大类可根据实际需求选择其一,也可都学
  • 这部分重要的是项目,你不需要掌握32/Linux全部知识点,熟练掌握项目中涉及的即可

④编外能力:GDB、Git、交叉编译、ROS、原理图/PCB绘制、数电模电等

1741698503110alt

二、 第一阶段:夯实基础(4~6 周)

1️⃣ C 语言

模块核心知识点
基本语法 变量、函数、作用域、头文件
指针 & 内存管理 指针运算、野指针、malloc/free、内存对齐
结构体 & 共用体 结构体指针、位域、大小端问题
文件操作 文件读写、二进制文件、文件缓冲区
回调函数 函数指针、动态库、系统 API
数据结构 链表、栈、队列、哈希表、红黑树

2️⃣ C++(可选,但建议学习)

模块核心知识点
C++ 语法 作用域、引用、auto 关键字
面向对象 类与对象、继承、多态、抽象类、虚函数
智能指针 unique_ptr、shared_ptr
STL 标准库 vector、map、set、queue、stack
异常处理 try-catch、异常规范
多线程编程 std::thread、互斥锁、条件变量

问:要刷题吗?刷题刷到什么程度是合适的?

答:要刷题。实验室三届师兄师姐亲身经历。面试时手撕不出来的尴尬历历在目。
首先,嵌入式软开岗位不少公司也会有机考和手撕环节(比如huawei,二者兼有)。不过和互联网要求不同,你只是需要通过刷题掌握常见的数据结构和算法。能对常见的题目熟悉,对中等题目能独立撕出来即可,不需要死磕高难度题目。
其次,不是所有的面试都会有手撕,但是,机考很多中大厂都有。机考不过,难以推进下一个流程,所以刷题部分也要重视。
再次,那是不是我刷hot100就够了?如果你要投递的是小厂,很有可能是没有机考环节的,手撕hot100基本够用,甚至都没有手撕,那hot100足够。如果你的目标是中大厂,hot100的程度,你可能都难以应对机考,要再额外刷代码随想录。
最后,在我们投递秋招的过程中,其实不只是会投嵌入式软开,而是和你技术栈相关的岗位都会去投递,手撕在这种技术岗位很常见。刷题也不白刷,如果你是用C++刷题的,秋招也可以尝试投递C++的岗位,都是可以的。

3️⃣ 计算机基础

模块核心知识点
计算机网络 TCP/IP、UDP、HTTP、三次握手、四次挥手
操作系统 进程 vs 线程、同步机制(信号量、互斥锁)、虚拟内存
数据结构 & 算法 链表、数组、排序、哈希、二叉树、动态规划、贪心等
编程工具 GDB 调试、Makefile 编写

三、第二阶段:嵌入式开发(8~12 周)

📌 STM32 开发

模块核心知识点
STM32 基础 GPIO、时钟配置、外部中断
通信协议 UART、SPI、I2C、CAN、Modbus
定时器 & PWM PWM 控制、定时器中断
RTOS 任务调度、优先级、消息队列、信号量
存储 & 文件系统 EEPROM、Flash 读写、FatFs
低功耗 & 能耗优化 低功耗模式、休眠唤醒

📌 Linux 开发

模块核心知识点
Linux 基础 常见指令、Shell、GDB 调试、Makefile
进程 & 线程 pthread 线程、多进程编程、进程间通信(IPC)
网络编程 TCP/UDP 编程、select/poll/epoll
设备驱动 字符设备、块设备、I2C/SPI 设备驱动
内核编程 设备树、内核模块、内存管理

ROS 在嵌入式开发的归属

没时间先不学这个

类别相关方向核心内容学习建议
Linux 嵌入式开发 机器人、自动驾驶、智能硬件 ROS 框架、节点通信、话题/服务、MoveIt! 适合对机器人、AI 感兴趣的开发者
高级系统开发 智能控制、SLAM、路径规划 ROS 2、Nav2、Gazebo 仿真 可结合 STM32 / Jetson / Raspberry Pi

四、 第三阶段:项目实战(4~6 周)

1、项目去哪里找:

1741699581013alt

2、复现开源项目就可以吗?

1741699218899alt

五、 第四阶段:面试冲刺(2~4 周)

📌 面试准备(飞出金陵的烤鸭),提前准备

模块学习方法
简历优化 突出项目亮点,量化成果
八股文复习 C ++、Linux、计算机网络、操作系统、32、RTOS等等
刷算法题 Leetcode Hot100
模拟面试 自己录音、与朋友模拟面试
参考资料 《烤鸭的嵌入式校招学习笔记》

1、简历

1741778310374alt

1741778131073alt

2、面经

1741778231973alt

3、项目/实习梳理

1741778274539alt

参考学习视频:

alt

#嵌入式##嵌入式笔面经分享##嵌入式转岗的难度怎么样##linux##mcu#
嵌入式校招经验 文章被收录于专栏

整个专栏更新一些嵌入式经验

全部评论
交流:xihongshixuezhang
点赞 回复 分享
发布于 04-08 16:17 山西

相关推荐

大体上可分为mcu开发和linux底层开发以及linux应用开发。针对学历不好的同学或者没有任何linux基础的研二同学,那么我强烈建议你走mcu开发,因为mcu需求量最大,公司最多,上手最快,并且很多中小公司对学历要求没那么变态。针对学历还不错的同学,同时时间足够的情况下,那么我建议你走linux的方向,因为linux方向的公司高薪会更普遍一些,而且会linux也能面mcu的公司,反过来可能就不行了。而且我看过很多同学的简历,很多同学就算做了linux,但是很多还是偏应用开发,跟底层毫无关系,但是又想走底层,所以大家可以有针对性的去润色一下自己的简历,添加一些跟驱动内核相关的内容在项目里面,这样也能避免简历项目“同质化”严重。具体如何添加,可以看网上帖子如何调试驱动的,遇到了哪些问题,怎么解决的,你只要看懂了,就可以植入到你的简历里。针对研一同学或者大二同学,你时间还很充足,强烈建议从开源之夏做起,夯实自己的基础,做一些有意义提升自己的开源项目。针对研二或者大三的同学,即将面临秋招,时间紧急,如果还缺少项目,那么完全可以借鉴往年开源之夏一些大佬做过的开源项目,代码文档都是全网公开的,选择性针对性地放进你的简历里。当然如果你不用开源之夏,用韦老师的linux相机也没关系,你自己添加内容,注意描述,把别人驱动调试的经验放进你的简历里!!!记住,你这个时候最重要的不是看视频不是看书籍,是润色简历,如何最高效的在你简历中体现出面试官想看的内容,至于怎么来的,没人会去关心。最后同样的,如果想继续看后续请点击关注,最后你的鲜花和点赞将是我更新的极大动力。#牛客创作赏金赛# #牛客激励计划#
点赞 评论 收藏
分享
评论
3
12
分享

创作者周榜

更多
牛客网
牛客企业服务