嵌入式秋招总结第三弹之项目准备

最近懈怠了一下,更新的有点慢,希望大家谅解,那我们就快快进入正题。
首先嵌入式的项目大体可分为四类:
一类来源于竞赛,一般包括本科的全国大学生电子设计竞赛,全国大学生光电设计竞赛,robomaster,robocon机器人大赛,智能车比赛,全国大学生操作系统大赛等,研究生包括研究生电子设计竞赛,集创赛,IEEE极限编程大赛等这类竞赛具有较高的含金量,一般电子设计竞赛或机器人大赛是用mcu做一些控制类的算法,实现一些功能,像面影石或大疆类的企业将比较喜欢问这种。而参加全国大学生操作系统大赛,更偏向实现一些开源算法,更偏系统软件一些,一般走芯片厂,手机厂的系统软件开发岗位会很喜欢。像IEEE极限编程大赛或ACM竞赛等则是证明你的算法能力,一般面互联网的岗位会更有优势,当然面一些自动驾驶或一些ai四小龙的岗位也会特别看算法能力。推荐指数四颗星⭐⭐⭐⭐。
二类来源于开源项目,这类项目其实大家经常理解为是韦东山或咸鱼之类的开源项目,就是代码和资料都是现成的,甚至还有讲解视频的开源项目,但其实这类项目常常是“烂大街”,因为大家都有你也有,所以导致你的简历不突出。我这里唯一推荐的类似项目可能就是XV6了,不过今年很多人使用XV6已经被面试官吐槽这个项目是不是学校里的课堂作业,怎么人手一个。明年秋招这个项目可能只会更多人做过了,但我还是推荐可以做一做,就算不写进简历里面,也会帮助你对操作系统的理解。其实我真正想推荐的开源项目是类似于往开源社区做贡献的项目,像开源之夏,谷歌之夏,腾讯之夏,rt-thread的社区贡献,openeuler的社区贡献,以及操作系统大赛之类的都是可以去参加的。而且一般这类项目都是有导师带你指导你去完成一些项目,而且保证不会“烂大街”,因为这类项目极大概率只有你一个人做过,并且你完成之后,还会获得一个不错的报酬。推荐指数五颗星⭐⭐⭐⭐⭐。
三类来源于教研室项目,这类项目一般是可遇不可求了,可能导师运气好会帮忙做一些嵌入式相关的内容,但大部分研究生牛马应该是没有机会接触到的,当然包括我也没有,所以对于大多数人来说推荐指数只有三颗星⭐⭐⭐。
四类来源于实习项目,这类一般是去公司实习获得项目经历,这类项目一般相较于其他项目的优点在于可以聊团队分工合作,项目庞大背景,代码审核提交,同事如何相处等,在leader面或者HR面的时候会更有聊的内容。首先最重要的实习莫过于暑期实习,因为暑期实习不但能获得一个不错的项目经历,甚至还有实习转正的机会,特别是某些你特别想去的公司,比如大疆,地平线等,建议暑期实习的时候就先进去占个坑,一般来说都是先考虑转正,才会看秋招名单的。当然我知道对于大多数牛马研究生来说,导师是不放实习的,所以有时候可以考虑一下remote,远程实习。这类实习一个是做中科院的实习,中科院旗下的PLCT实验室经常招远程实习生,而且需求量大,报酬也还不错,所以值得推荐。还有就是一些中小公司会招一些远程实习生,这些可以在找的时候详细跟HR沟通争取远程的机会。推荐指数五颗星⭐⭐⭐⭐⭐。
一般来说,简历最好写一页,然后放三个项目,竞赛的项目比较多时,不用每一个都详细写,可以以荣誉的形式写进简历里。当然如果竞赛等级不高,也不太推荐写进简历里。
如果想继续看后续请点击关注,最后你的鲜花和点赞将是对我极大的鼓励。后面秋招总结的几弹将会从八股,项目等详细说明我嵌入式秋招是如何准备的,尽请期待。
全部评论
开源之夏一定要申请新的项目吗?这样周期不会太长了吗?跟着已经中选的再做一遍行不行?
2 回复 分享
发布于 01-27 17:49 广东
xv6是什么,
1 回复 分享
发布于 04-12 12:29 湖北
乃哥,求更
1 回复 分享
发布于 02-17 11:23 四川
乃子爷牛逼
1 回复 分享
发布于 2024-12-17 12:10 四川
也是狠狠受教了
1 回复 分享
发布于 2024-12-09 14:53 四川
找实习的话,有什么推荐嘛
点赞 回复 分享
发布于 05-12 16:05 广东
佬,RT- thread社区的开源贡献是不是去找linux 岗位帮助不是很大啊
点赞 回复 分享
发布于 04-26 20:31 湖南
佬,我有个问题,如果投嵌软的话,操作系统的项目符合要求么
点赞 回复 分享
发布于 03-31 10:49 广东
感觉工程知识点忘的很快。。特别是嵌入式这种各种内容比较琐碎的领域,前段时间做过的东西可能过半年就忘了,有什么解决办法吗
点赞 回复 分享
发布于 01-10 20:55 澳大利亚
乃子哥,暑期实习一般啥时候投啊
点赞 回复 分享
发布于 01-05 21:24 湖南
学长 建议没基础的研一转嵌入式嘛
点赞 回复 分享
发布于 2024-12-23 12:49 四川
学长,研二现在开始准备嵌入式来得及找暑期实习吗,感觉要学的还是挺多的
点赞 回复 分享
发布于 2024-12-12 14:51 广东
感谢乃子哥
点赞 回复 分享
发布于 2024-12-09 14:26 新疆
感谢佬分享
点赞 回复 分享
发布于 2024-12-08 20:03 陕西

相关推荐

拖更太久了,主要是从4月份开始工作到陆陆续续开始上手工作,全身心投入工作中了,最近闲下来又可以写一写文章,并且以我工作和学习的经历希望让大家增强对Linux驱动的理解。特别是我后台经常会有同学私聊我,问我一些Linux线路呀或者学完xv6应该学什么呀,我要走Linux驱动方向需不需要看Linux网络编程呀等等问题,我们今天一一解答。1. 学完xv6之后,我想走嵌入式Linux方向还需要怎么提升呢?针对这个问题,我想说嵌入式Linux需要哪些技术点。首先针对驱动,驱动其实分为很多方向,简单的有iic驱动,spi驱动,复杂的有camera驱动,显示屏驱动,音频驱动,nvme驱动还有最近流行的npu驱动,GPU驱动等等。这些驱动的共性都是要掌握设备树,sysfs文件系统,虚拟内存管理,设备总线驱动框架等等。不同的驱动还要细化,比如你想走camera,可能你要对v4l2,mipi协议这些要进一步了解,如果你想走ai芯片驱动,那最好对smmu,dma-buf,异步队列排序,多线程优化,drm框架,ping-pong存储,高性能计算有一定了解。如果是非驱动岗位,偏向CPU启动安全等方向,可能还需要掌握ARM的架构,包括最新的v8,v9架构等等。所以针对你掌握的不同驱动,你需要加强不同方向的知识。2. Linux驱动学完后期应该学什么,我看完韦东山驱动大全还需要看Linux系统编程,Linux网络编程吗。首先,驱动跟应用是不分家的,在真实操作驱动的过程中,会时刻跟应用打交道,但此刻的应用还是停留在Linux内核层面的应用。实际工作中的应用方向则会偏向安卓,比如一些中间件的实现,安卓api的调用等等,常见于手机厂系统开发岗位。而Linux系统编程更多强调于我们上层怎么用malloc,mmap分配内存,如何多进程多线程跑多个服务,怎么多线程和访问同一个变量,如何写出免锁队列。因为只要复杂的一些驱动,你可能就不单是负责最基础的driver那一层了,跟寄存器打交道的是bsp方向,驱动方向考虑更多的还是底层代码的高效性,稳定性等等。比如nvme驱动,如何对具有优先级的bio进行快速响应,并分配给SSD,可能就需要哈希存储或者平衡二叉树来做优化。包括我们说的npu驱动,如何提升cpu与npu的通信,CPU的算子如何快速部署到npu上,并最短时间把结果反馈给CPU,大量算子不同优先级如何分配线程运行,还要兼顾低功耗来进行休眠等等,其实都离不开我们Linux系统编程的很多知识。而针对Linux网络编程,这个要不要掌握真就因人而异了,这个最初是走c++的一帮人,因为要搞个webserver项目走互联网,所以在那之前会先学Linux网络编程,对于嵌入式Linux方向,大部分方向是不用去深入掌握的,除非你去路由器公司做网络驱动,那就另当别论了。3. 方向这么多,我应该选择什么方向作为我的主攻方向呢。不管你做了xv6,还是看了驱动大全,你可能都会疑惑自己会什么,只能脑子有点驱动概念有点操作系统概念,但是没有深入理解某个方向,有点浅尝辄止。所以我的建议是至少得熟悉某个子方向,你可以是熟悉camera驱动,调一调摄像头,改一改底层代码提升帧率。也可以走ai嵌入式方向,部署一下YOLOv5,然后拉通CPU到npu的函数跳转。不管走什么方向,不能只停留在上层调api,要深入到底层代码逻辑,这才能在秋招中脱颖而出。而且真正工作上,驱动与驱动,驱动与应用是不分家的。最简单的一个例子,我们想要获得高帧率的图像显示,中间经历的驱动包括了camera获取图像,npu或GPU对每帧图像实现图像锐化等ai算法,显示屏驱动稳定显示。但凡某个驱动出了叉子,在显示屏驱动那一块就会出现显示卡顿的情况或者丢帧。所以常常就是你不能只对你的方向有所理解,其他方向也要有所建树。最后同样的,如果想继续看后续请点击关注,最后你的鲜花和点赞将是我更新的极大动力。
通信/硬件秋招总结
点赞 评论 收藏
分享
评论
62
132
分享

创作者周榜

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