首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客408378644号
门头沟学院 嵌入式工程师
发布于河北
关注
已关注
取消关注
@嵌入式校招菌:
2023-最新嵌入式学习路线!
说明:以下学习路线基于我本人在22年秋招过程中的嵌入式学习、面试经验整理主要面向嵌入式软件、linux、驱动岗位,相比其他大而全的嵌入式学习路线,本文注重嵌入式面试重点、核心、精简内容。(没有废话、全是干货)嵌入式核心知识点----基本功------编程语言: C语言MCU经验: STM32操作系统:FreeRTOS/ucOS Linux驱动经验: 裸机外设/Linux驱动----加分技能 非必须------学历,本科生建议考研C++数据结构ARM体系架构计算机网络大家需要明确一个目标就是,我们是要面向校招学习,一般来说,我们所看到的的成套视频教程,比如STM32、或者C语言、Linux驱动等,实际是不需要学完才能去面试的!你要做的是如何掌握基本的知识点、然后体现到简历项目上、让面试官在二三十分钟内对你问答、从细节处体现你是真的有本事的下面,我对各部分具体梳理长文预警、建议收藏1.C语言嵌入式岗位一般来说用到最多的就是C语言,向下更底层汇编,向上应用层C++, C是核心。面试时对C的考察如下:指针:一级/二级指针,指针数组,数组指针,指针函数,函数指针数组:一维/二维数组 排序等字符串关键字:#define assert const const static volatile extern sizeof typedef等函数:strlen strcmp strstr memcpy sprintf等内存:堆栈,内存分配 malloc/free 大小端变量:变量类型/占用字节数,局部/全局/静态变量,形参/实参结构:结构体 联合体,枚举类上面的内容还不完整,但基本的知识点都包括了。如果是第一次接触的知识点,建议自己学一下,关于平时练习C语言的话,个人建议用vscode环境,装了插件用起来很方便。上面的内容面试官肯定是不会全部问的,只能说自己多准备。2.STM32一般的嵌入式学习路线中都包含有单片机内容,这里写单片机是因为其比较主流,学习资料也较多。上单片机的种类很多,比如arduno、ESP32以及众多国产MCU,你会其他的写在简历上替代stm32也完全可以。大家用到的这些基本都是基于ARM架构的MCU。 实际上面试官可能自己都没用过STM32,但是他会问一些这类单片机硬件共性的问题。如果你是没有任何基础的本科生,为了降低难度可以先从51开始学,其实也可以跟着视频直接学32。对于STM32,大家不用学完了F1还要再去学F4系列,实际上最小的c8t6开发板就能学到很多内容。以下是单片机这一块的提问点:单片机从启动到进入main函数的流程单片机中断机制 中断向量表 中断函数(更细节的还有如何保护中断现场,PC指针怎么动)定时器,输出PWMIO口输入输出模式串口,i2c,spi通讯协议,像stm32基本都是支持硬件i2c和硬件spi,这几个通讯协议的时序要掌握看门狗如果你简历能写的项目有限,特别是缺乏linux项目的情况下,可以做一点stm32单片机的项目补充,上面的内容只是STM32的基础,如果你后续有时间学linux驱动,那么建议stm32学这些就够了,linux驱动的教程里还会涉及到mcu更多的底层知识因此内容上会有重复。当然,也有很多大佬即使没学Linux也能找到好工作,这个确实存在,因为有一些公司的芯片或者产品本身就不跑操作系统,但是这种就会重点考察你对单片机的掌握,像lCD驱动、高速usb协议、DDR驱动这种掌握熟练写在简历上也会让面试官眼前一亮。在学stm32时,不要追求能够完全记得住某一部分的内容,只要知道基本流程、会copy就可以了。江科大的视频很多人推荐,正点原子的配套例程代码资料非常完善,要学的话直接基于库函数开发,不要用寄存器版本。这里其实还有一个部分知识点,很多人问嵌入式要不要数模电,这个的话没必要再单独花时间学,常见的单片机电路和其他外设电路网上都有现成的,面试一般不会重点去问。但我也遇到过问会不会用示波器,会不会排查硬件电路。建议大家有时间可以自己做一下stm32最小系统板,嘉立创直接白嫖PCB!3.FreeRTOS/ucOS Linux这里将FreeRTOS/ucOS与Linux并列因为它们都是操作系统,在一些硬件资源有限的MCU平台,比如cortex-M架构的STM32-F1系列单片机,其不支持MMU,不能跑Linux系统,但是它支持跑轻量级的FreeRTOS/ucOS 实时操作系统。一些需要处理复杂任务的芯片通常都要依靠操作系统多线程/多进程进行任务调度,提高系统的实时响应能力。在校招时,有些公司会特别注明岗位要求使用FreeRTOS或者ucOS,这两个实时操作系统有些类似,大家只需要学其中之一就可以了,如果后面要学linux的话,那么可以不学这俩。FreeRTOS/ucOS中用的是“多任务”的概念,任务之间可以通过信号量等方式进行同步,这类系统通产不要求大家完全掌握,有一些基础的了解就可以了。学FreeRTOS/ucOS的好处是,如果你不会linux,那么可以把FreeRTOS/ucOS加在你的单片机项目上,增加项目的复杂程度。对于linux,多线程多进程这一块实际上属于应用开发的内容,但还是大家对基础概念要知道,相关重点如下:进程、线程概念/区别进程、线程的同步方式锁的概念,互斥锁、自旋锁等fork clone创建守护进程用户空间、内核空间这部分内容在面嵌入式linux驱动开发工程师岗位时会容易被问到,关于linux应用这一块的视频我基本没看。推荐直接看下面这两个pdf,对于了解基础概念有帮助。4.裸机外设/Linux驱动这部分是最后的重点,因为在校招时,有很大一部分嵌入式岗位是要求会linux的,或者直接叫linux驱动开发工程师,大家可以去看b站,近几年的视频无论正点原子还是韦东山等系列的linux驱动开发播放量都很高,早期的视频通常基于NXP i.mx6ull芯片开发,新一点的基于STM32mp157,小众一点的瑞芯微开发板也是跑linux系统、以及还有全志科技等。以我自己的经验,学了linux驱动这部分内容可以投的岗位会更多!对于驱动开发岗位,有做裸机开发的、也有做linux驱动开发的。现有的视频教程实际也是从裸机底层寄存器开始,linux驱动大家可以理解为在linux环境和框架下去做底层代码编写。这部分的内容,我自己其实也没学完,但是编了一个项目成功应付过了面试,下面是linux驱动的一些面试重点:uboot 、kernel、根文件系统移植交叉编译基本的shell命令ubuntu会用字符设备框架输入输出子系统i2c总线 platform总线等设备树,驱动和设备如何匹配块设备框架关于linux驱动的学习,建议大家要多画框图,结构图进行梳理,典型的字符设备框架怎么写一定要知道,以及设备和驱动如何匹配,这部分内容我自己也还没学完。uboot、内核移植可以多跟着教程做几遍,这里面细节很多。校招时,如果你能掌握前面8点,块设备驱动先不学了也没关系,面试官有很多可以问你的问题。驱动这块的视频推荐韦东山或者正点原子。2.进阶前面四部分的内容,大家可以按照我列举的重点去学,把核心的学了再去学边缘的知识点在找工作时,除了嵌入式本身的知识点,还有其他影响因素,比如学历、编程能力考察。首先是学历,对于本科生同学,我还是非常建议考研的,近几年java等互联网岗位没那么容易就业了,导致嵌入式也卷起来,尽量往好的学校考研提升学历,同样的应届硕士应聘同一个嵌入式岗位,很多公司也会按985、211、双非去给不同的价,这是我真实遇到的事。然后是编程能力考察,因为嵌入式工程师也属于程序员,大厂在招人时基本都要机考,机考分数不够直接淘汰。典型的是华为,机考3道题600分2小时,要大于100分才有资格面试,如果没有任何准备就去做的话很难拿到100。这里说的准备就是平时要刷刷题,leetcode,基本的输入输出要会处理,以及常见的排序、二叉树、链表等数据结构要知道,深度/广度优先搜索算法等。一般来说中小公司可能对嵌入式岗位没有笔试,但大厂基本都有,比如小米、oppo、华为、美团、蔚来、大疆、vivo、海康威视、大华、字节等等。对于学习数据结构我的建议是前期基本概念要掌握,然后可以保持每天刷一两道这种状态,嵌入式不要求数据结构完全掌握,但在面大厂时机考分数高还是更有利一点。最后,如果同学想校招冲大厂的话,建议学一点基础的C++,因为在机考做算法题时用C语言写有时候过于费劲、重复造轮子的操作没必要,C++提供的容器类使用非常方便。以上内容,基本包括了嵌入式面试的知识范围,当然在面试时,面试官的提问更多的是基于你的简历项目,所以大家一方面要学基础知识,另一方面最好也能做一些能写到简历上的项目,或者,寻求实习机会。以上内容可能存在不足之处,如有问题,可在评论区交流或者私信我。
点赞 77
评论 6
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
03-27 09:08
已编辑
蚌埠坦克学院 嵌入式软件开发
荣耀嵌入式软件二面 面经
二面和一面相比完全不是一个量级,一面还算是考察基础知识,二面更像是在和你讨论技术方案,每个问题都有大量追问,而且他会故意提出反驳意见看你怎么应对。项目聊了将近四十分钟,他把我项目里的每个技术决策都问了一遍为什么,有几次我答不上来被他直接指出设计上的问题。1. 讲一下 FreeRTOS 的任务状态机,每种状态之间的转换条件是什么,阻塞状态和挂起状态有什么本质区别?答:FreeRTOS 的任务有五种状态:运行、就绪、阻塞、挂起、删除。运行状态是任务正在占用 CPU 执行,单核系统里同一时刻只有一个任务处于运行状态。就绪状态是任务具备运行条件,等待调度器分配 CPU。所有就绪任务按优先级排在就绪列表...
嵌入式面试八股文全集
点赞
评论
收藏
分享
04-01 20:48
蚌埠坦克学院 嵌入式软件开发
我觉得大三暑假实习比较合适一点
我认为大三暑假去实习是一个比较合适的时间点。一方面,这个阶段已经具备了一定的专业基础,比如编程能力、数据结构与基础算法、以及一些项目经验。相比大一大二,大三的知识结构更完整,能够更快适应企业的开发节奏,也更容易在实际项目中发挥作用。另一方面,大三暑假实习时间充足,可以完整参与一个项目的开发流程,从需求分析到代码实现,再到测试和上线,这种经历对理解工程化开发非常关键。同时,实习过程中还能了解企业的技术栈和开发规范,为后续找正式工作打下基础。更重要的是,大三实习可以作为一次“试错机会”。通过实际工作,可以判断自己是否适合某个技术方向或岗位,及时调整学习路线,而不是等到毕业后再去探索。因此,大三暑假...
你觉得大几开始实习最合适...
点赞
评论
收藏
分享
03-16 11:07
南开大学 Java
腾讯快手简历挂
求各位牛爷爷指点
牛马人的牛马人生:
快手卡实习经历的
点赞
评论
收藏
分享
03-24 14:52
山东大学 C++
这,这对吗
七月份还没入职,怎么大伙撤了这么多人啊,有点哈人啊是年会让大伙寒了心,还是年终奖不如意。我看大家年终奖份额发的都是正常月数,翻了一下评论区,貌似又跟调薪有关😂😂😂智驾的未来在哪里😭
AI时代,哪个岗位还有“...
点赞
评论
收藏
分享
03-27 13:55
上海外国语大学 招聘专员
快手后端-Java开发一面面经
面试部门:平台服务?大概叫这个,邮件里没有,面试官说的面试时间:3月24日17:00面试时长:40分钟比较基础的一次面试,没什么压力,面试官全程比较精神涣散hhh,估计bro也是上班上累了1.Agent项目用什么做的,选型原因,Agent框架了解吗2.Agent技术组成部分理解吗,讲讲执行链路3.Skills的真实逻辑怎么写的,明白和企业的差距吗(这个之后还问了些,比较深,个人受教了,还是下去再多看看Agent吧4.讲讲项目里的难点(Agent选取了RAG来说)5.除此之外了解AI的什么?Openclaw,Transformer...八股:(比较简单)1.Redis简介,Redis为什么快2....
查看11道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
Vibe Coding开发前的 7 个关键步骤
1.3W
2
...
笔试做完两周没动静,我查了进度才知道不是挂了
5491
3
...
AIcoding上线了!你确定不来刷刷?
4877
4
...
4.1 美团后端暑期实习面经
4264
5
...
我放弃互联网大厂了。。
4197
6
...
必看实用VibeCoding项目
3458
7
...
腾讯前端暑期实习一面
3368
8
...
如何把面试主动权握在手里?Ai岗面试焚诀!
3161
9
...
美团后端暑期实习一面
3144
10
...
京东零售平台产品与研发中心一面
2991
创作者周榜
更多
正在热议
更多
#
你觉得大几开始实习最合适?
#
15489次浏览
173人参与
#
uu们,春招你还来吗?
#
52790次浏览
306人参与
#
招商银行数字金融训练营
#
104475次浏览
881人参与
#
面试被问到不会的问题,你怎么应对?
#
12922次浏览
164人参与
#
面试中,你被问过哪些奇葩问题?
#
92322次浏览
892人参与
#
Claude Code泄露源码
#
7449次浏览
112人参与
#
开放七大实习专项,百度暑期实习值得冲吗
#
35640次浏览
616人参与
#
恒生电子笔试
#
17585次浏览
135人参与
#
2023年不发年终奖的公司盘点
#
30325次浏览
174人参与
#
你都用vibe coding做过什么?
#
9457次浏览
393人参与
#
AI Coding实战技巧
#
7951次浏览
174人参与
#
26届春招投递记录
#
1508次浏览
24人参与
#
你现在一天AI几次?
#
6659次浏览
87人参与
#
七猫笔试
#
6371次浏览
46人参与
#
做完笔试后你收到面试了吗?
#
14448次浏览
165人参与
#
四大天坑是哪四家?
#
111202次浏览
241人参与
#
你见过哪些招聘隐形歧视?
#
11206次浏览
98人参与
#
机械人你知道哪些单休企业
#
101837次浏览
476人参与
#
Vibe Coding 会干掉初级岗位吗?
#
12457次浏览
168人参与
#
大厂实习和小厂实习最大的区别是什么?
#
25410次浏览
194人参与
#
如果人生可以debug你会改哪一行?
#
5734次浏览
102人参与
#
网易游戏雷火笔试
#
4044次浏览
66人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务