其实大多数的朋友都有误区觉得培训才能有出路,其实不然,每个有想法的人多多少少有一些自驱力
这些自驱力足够你自学找工作了,省下的钱多给家里买点吃的不好吗。
上干货!!!
嵌入式的知识,比如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绘制、数电模电等
二、 第一阶段:夯实基础(4~6 周)
1️⃣ C 语言
模块核心知识点基本语法变量、函数、作用域、头文件指针 & 内存管理指针运算、野指针、malloc/free、内存对齐结构体 & 共用体结构体指针、位域、大小端问题文件操作文件读写、二进制文件、文件缓冲区回调函数函数指针、动态库、系统 API数据结构链表、栈、队列、哈希表、红黑树
2️⃣ C++(可选,但建议学习)
模块核心知识点C++ 语法作用域、引用、auto 关键字面向对象类与对象、继承、多态、抽象类、虚函数智能指针unique_ptr、shared_ptrSTL 标准库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定时器 & PWMPWM 控制、定时器中断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、项目去哪里找:

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

五、 第四阶段:面试冲刺(2~4 周)
面经是最重要的,因为你面经准备的好不好就直接影响你面试效果!!!📌 面试准备(软嵌物联集)提前准备
模块学习方法简历优化突出项目亮点,量化成果八股文复习C ++、Linux、计算机网络、操作系统、32、RTOS等等刷算法题Leetcode Hot100模拟面试自己录音、与朋友模拟面试
面经有免费的网站推荐daxprogram.com这地方就看大家自己背诵情况了,一般临阵磨枪效果都挺好。

这些自驱力足够你自学找工作了,省下的钱多给家里买点吃的不好吗。
上干货!!!

嵌入式的知识,比如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绘制、数电模电等
二、 第一阶段:夯实基础(4~6 周)
1️⃣ C 语言
模块核心知识点基本语法变量、函数、作用域、头文件指针 & 内存管理指针运算、野指针、malloc/free、内存对齐结构体 & 共用体结构体指针、位域、大小端问题文件操作文件读写、二进制文件、文件缓冲区回调函数函数指针、动态库、系统 API数据结构链表、栈、队列、哈希表、红黑树
2️⃣ C++(可选,但建议学习)
模块核心知识点C++ 语法作用域、引用、auto 关键字面向对象类与对象、继承、多态、抽象类、虚函数智能指针unique_ptr、shared_ptrSTL 标准库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定时器 & PWMPWM 控制、定时器中断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、项目去哪里找:

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

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

面经是最重要的,因为你面经准备的好不好就直接影响你面试效果!!!📌 面试准备(软嵌物联集)提前准备
模块学习方法简历优化突出项目亮点,量化成果八股文复习C ++、Linux、计算机网络、操作系统、32、RTOS等等刷算法题Leetcode Hot100模拟面试自己录音、与朋友模拟面试
面经有免费的网站推荐daxprogram.com这地方就看大家自己背诵情况了,一般临阵磨枪效果都挺好。
