10+offer,嵌入式秋招学习路线概述版

alt

目前已经答疑200+学弟学妹,如果需要文字版也可以无偿(*****************),找个学习路线会比之前的版本更精简一些,直接针对知识点的介绍。实验室几届师兄师姐验证,包清晰的~

一、刷题准备

alt

  • LeetCode 刷题
    • 《代码随想录》:这本书涵盖了大量的经典算法题目和解题思路,2遍
    • 《labuladong的算法小抄》:提供了清晰的算法思维导图和技巧
    • 《LeetCode hot100 题》:集中练习高频面试题,3-4遍
    • 《灵茶山艾府》:LeetCode 题解
    • 排序算法

刷题建议

  • 理解每道题的核心算法和优化方法
  • 尝试不同的解题思路,比较它们的时间和空间复杂度
  • 定期复习,深化记忆

二、计算机基础知识

alt

  • 计算机四大件:计算机组成原理、计算机网络、操作系统、数据结构

1. 操作系统

  • 学习资源:B站的“王道考研”系列课程
  • 学习要点:进程线程管理、内存管理、文件系统、设备管理
  • 面试常见问题:进程与线程的区别、死锁条件、内存分页和分段机制
  • 学习程度:不需要做笔记,心里有个印象即可;一遍

2. 计算机网络

  • 学习资源:B站的“湖工大教书匠”教学视频
  • 学习要点:网络分层模型(OSI 和 TCP/IP)、常见协议(HTTP、TCP、UDP)、Ping原理
  • 面试常见问题:TCP三次握手和四次挥手、HTTP状态码、HTTPS加密原理
  • 学习程度:需要记笔记

3. 数据结构

  • 学习方法:结合刷题,在实践中理解数据结构的特点和应用场景
  • 学习要点:数组、链表、栈、队列、树、哈希表、图等
  • 学习资料:github资料:《hello 算法》
  • 学习程度:熟练掌握

4. 整理面经(重要)

  • 《阿秀的学习笔记》:用于整理操作系统、C++等方面的面试经验
  • 《小林 Coding》:用于整理计算机网络的面试经验
  • 牛客小红书:面试前整理对应公司面经
  • 面经总结:多读几遍面经,便可算是八股入门,计算机四大件是基础中的基础,针对岗位需要具备的基础知识继续深入学习

三、岗位针对性学习

alt 根据目标岗位,除了基础知识外,还需要有针对性地学习相关知识。

嵌入式方向

1. 熟悉 Linux 系统

  • 学习资源:大丙的教学视频和笔记
  • 学习内容:Linux 基本命令、Shell 编程、Linux 下的 C/C++ 开发、进程线程管理、网络编程、IO多路复用
  • 实践:在 Linux 环境下编写和调试程序

2. 学习单片机(STM32)

  • 学习内容:STM32 的架构、GPIO 操作、中断、总线等
  • RTOS
  • 实践:找一个实际项目进行实践

3. 学习实时操作系统(FreeRTOS)(加分项)

  • 学习资源:韦东山的相关课程和教材(微信上有)
  • 学习内容:任务调度、信号量、消息队列、内存管理
  • 实践:基于 FreeRTOS 编写多任务程序,理解实时系统的特性

后端开发方向

  • 不需要学习单片机
  • 需要学习数据库,设计模式等
  • 其他“编外能力”:版本管理工具 Git、编译工具 CMake、调试工具 GDB

四、工具和软技能

alt

1. 版本管理工具(Git)

  • 学习内容:Git 的基本操作(clone、commit、push、pull)、分支管理、合并冲突解决
  • 实践:在团队项目中使用 Git 进行协作,掌握工作流

2. 构建工具(CMake)

  • 学习内容:CMake 的基本语法、配置文件编写、跨平台构建
  • 实践:使用 CMake 管理项目,生成 Makefile 或其他构建系统

3. 调试工具(GDB)

  • 学习内容:GDB 的基本命令(break、run、next、print 等)、调试核心转储(core dump)文件
  • 实践:在开发中使用 GDB 进行断点调试、跟踪程序执行流程

五、时间线

alt

研二 9月开始

  • 刷 LeetCode,开始刷各种学习视频,计算机基础原理最先学习,之后面经整理

3月-5月

  • 开始投递实习(投递不到 20 个),准备实习面试,争取拿到 offer(项目负责人,有一篇 SCI 二区论文)
  • 提前汇报、做项目,提前准备面试

6月

  • 再做实验室项目,开始投递秋招提前批(卡双九)

7-8月

  • 实习,投递秋招提前批(7月中旬),简历根据岗位 JD 修改

9月

  • 正式秋招批次开始

六、秋招心路历程

alt

  1. 关于准备程度

    • 即使开始得早,也不可能完全准备好,不要等准备好再开始,而是在面试中查缺补漏。
    • 可以在研二下三月份开始投递实习,面试一些公司,逐渐进入秋招状态。
  2. 关于实习

    • 实习非常重要,尤其是对于进大厂的面试,实习可以显著提升竞争力。
  3. 关于紧张

    • 刚开始面试时,容易紧张,尤其是心仪公司的面试。到后期,会从面试官的提问中了解更多岗位需要的知识,帮助自己更好地准备。
  4. 关于海投

    • 海投给自己多一些机会,但要定制简历和面经,不要盲目海投。要有目标并长期准备。

七、视频讲解

以上内容都有录制视频讲解,可以在下面找到 alt

八、关于烤鸭嵌入式学习笔记

有偿分享,全文400页+,25w+,有需要也欢迎找我~ alt

#牛客创作赏金赛##嵌入式##嵌入式春招##嵌入式实习##嵌入式笔面经分享#
嵌入式校招经验 文章被收录于专栏

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

全部评论

相关推荐

🔥 2024春招必备 | 嵌入式开发面试八股文合集 📚亲爱的嵌入式开发小伙伴们,春招季即将到来!🌸 是时候武装自己的知识库,准备迎接面试挑战啦!我们精心整理了这份嵌入式开发面试八股文合集,帮助你在2024春招中脱颖而出!💪嵌入式面试八股文合集:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk📌 C语言基础篇1️⃣ 指针与内存- 指针常量vs常量指针的区别?- 野指针和悬空指针的成因及如何避免?- 内存对齐的原理及实际意义?- 如何实现一个安全的strcpy函数?- malloc/free与new/delete的区别?2️⃣ 预处理与编译- 宏定义的优缺点及注意事项?- static关键字的五种用法?- volatile关键字的作用及应用场景?- 程序的内存分布(代码段、数据段、BSS段、堆、栈)?- 编译过程的四个阶段及其作用?💻 数据结构与算法1️⃣ 基础数据结构- 链表:如何检测链表中的环?- 栈与队列:应用场景及区别?- 树:二叉树的遍历方式及应用?- 哈希表:解决冲突的方法?2️⃣ 常见算法- 排序算法的时间复杂度对比?- 二分查找的实现及优化?- 嵌入式系统中的内存优化算法?- 位操作在嵌入式中的应用?🐧 Linux系统编程1️⃣ 进程与线程- 进程与线程的区别?- 进程间通信的方式及优缺点?- 线程同步的方法?- 死锁的条件及预防措施?2️⃣ 文件与IO- 文件描述符的概念及管理?- 阻塞IO vs 非阻塞IO vs 异步IO?- select/poll/epoll的区别及应用场景?- Linux设备驱动的基本框架?🔌 嵌入式硬件与通信1️⃣ STM32开发- STM32启动过程详解?- 中断优先级管理及嵌套?- DMA工作原理及应用场景?- 定时器的工作模式及配置?2️⃣ 通信协议- I2C、SPI、UART的区别及应用场景?- CAN总线的特点及应用?- Modbus协议的帧格式及异常处理?- TCP/IP协议栈在嵌入式系统中的实现?⚡ 实时操作系统1️⃣ RTOS基础- 什么是实时操作系统?硬实时vs软实时?- FreeRTOS的任务调度机制?- 信号量、互斥量、消息队列的使用场景?- 优先级反转问题及解决方案?2️⃣ 系统设计- 嵌入式系统的启动流程设计?- 低功耗设计的关键技术?- 看门狗的工作原理及应用?- 嵌入式系统的可靠性设计?📝 实战经验分享1️⃣ 调试技巧- 如何高效定位内存泄漏问题?- 使用JTAG/SWD进行硬件调试的技巧?- 常见的嵌入式系统崩溃原因分析?- 性能瓶颈分析与优化方法?2️⃣ 项目经验- 如何设计一个可靠的通信协议栈?- 嵌入式产品的测试策略?- 固件升级(OTA)的实现方案?- 嵌入式系统安全性设计的关键点?---🎯 2024春招备战指南:1. 每天复习1-2个知识点,一个月就能覆盖全部重点!2. 结合实际项目经验,准备2-3个可深入讲解的案例3. 刷题平台上针对性练习算法题,提高编程能力4. 模拟面试,锻炼表达能力和逻辑思维💼 面试技巧:- 遇到不会的问题,坦诚表达并展示解决问题的思路- 主动展示自己的项目经验和技术亮点- 准备一些有深度的问题向面试官提问- 保持积极的学习态度和良好的沟通能力🌟 祝各位嵌入式开发者在2024春招中取得理想的offer!记住:机会总是留给有准备的人!加油!💯
点赞 评论 收藏
分享
1.ARM处理器与中断(15道) 1.1 CPU的内部结构?CPU的内部结构大致可以分为: (1)控制单元(指令寄存器、指令译码器、操作控制器)。 (2)运算单元(算术逻辑单元)。 (3)存储单元(专用寄存器和通用寄存器) (4)时钟。 1.2 CPU跟内存、虚拟内存、硬盘的关系?(1)CPU要调用的程序和数据来自硬盘,但是CPU又不能直接读写硬盘上的系统、程序和数据,所以必须先将硬盘的内容存储在内存中,才能被CPU读写。 (2)因此内存是一个中转站,对计算机的运行速度有较大影响。 (3)当系统需要的内存空间大于实际的物理内存空间时,就需要用到虚拟内存了。虚拟内存可以将部分硬盘空间模拟成内存空间,将暂时不运行的程序和不使用的数据存储在硬盘上,需要时再将其存储到内存。 1.3 ARM结构处理器可分为哪几类?嵌入式微处理器 由通用计算机的CPU演变而来,位数在32位以上,具有较高的性能。 嵌入式微控制器 又称单片机,一般以某一种微处理器内核为核心,芯片内部集成ROM、RAM、总线、定时/ 计数器、I/O、A/D等各种必要功能和外设。 嵌入式DSP 硬件结构和指令进行过特殊设计,非常擅长高速实现各种数字信号处理运算(如数字滤波、频谱分析等)。 1.4嵌入式微处理器和DSP 有什么区别?(1)嵌入式微处理器和DSP一个偏重控制、一个偏重运算。 (2)嵌入式微处理器外围接口丰富,标准化、通用性、功耗控制等做得很好,适用于消费电子、家用电器等控制领域。 (3)DSP对系统结构和指令做了优化,能进行大量数据的快速计算,适用于音视频处理等领域。 1.5 ARM处理器有哪些工作状态?ARM 指令和Thumb 指令有什么区别?答案:(1)ARM处理器共有ARM、Thumb/Thumb-2、调试三种状态。 (2)ARM指令是32位的,较全面;Thumb指令是16位的,较精简。 解读:ARM状态 工作于32位指令状态,所有指令均为32位。 Thumb状态 工作于16位指令状态,所有指令均为16位。 Thumb-2状态 ARM状态和Thumb状态是早期版本,近期推出的Thumb-2状态兼有 16和32位指令,具有更高的性能、更低的功耗以及更少的内存占用。具有Thumb-2技术的 ARM处理器无需在ARM和Thumb-2状态之间切换了。 调试状态 处理器停机调试。 以上内容摘自专刊《嵌入式岗位笔试面试真题讲解》,该专刊不仅有真题讲解,还有经验分享,不清楚嵌入式该学什么的同学,想找嵌入式实习/正式工作的同学,都可以来看看:              https://blog.nowcoder.net/zhuanlan/v0ELPM嵌入式公司推荐:华为、小米、OPPO、VIVO、荣耀、一加、CVTE、大疆、insta360影石、美的 、TCL、海信、创维、烽火、比亚迪、吉利、长安、大众、经纬恒润 、小鹏、图森未来、百度、滴滴、蔚来、理想、 联发科、 紫光展锐 、全志、寒武纪 、晶晨半导体 、汇顶、华为、中兴、浪潮 、TP-LINK、讯飞、商汤、海康威视 、浙江大华、360、小马智行、元戎启行、深信服、移动、联通、电信、旷视、四维图新、中芯国际、复旦微电子、极氪。#牛客AI配图神器#
点赞 评论 收藏
分享
评论
6
44
分享

创作者周榜

更多
牛客网
牛客企业服务