嵌入式/C++秋招总结+经验帖

秋招旅途慢慢从酷暑走到了寒冬,趁着周末悠闲的午后把自己一路的经历做个总结,好好告别,能给26届牛油提供到帮助就更好啦。祝愿牛友们前程似锦,工作顺利!

bg: 92非科班,一段实习,无论文,竞赛若干

从研一开始,就想走软硬结合的路线,自己当时并不喜欢后端那种CRUD,而是喜欢自己的代码操控物理硬件的感觉,所以并没有像往届师兄那样,研一就开始刷题,学习408那些知识,而是跟着老师做机器人相关的项目,积攒嵌入式的经验,有实验室的工程师带着学习,算是有点收获。那时候实验室基本都找的后端,互联网,所以我对嵌入式找工作一无所知,没有师兄师姐的经验,我对嵌入式找工作难度的认知甚至停留在工资不高,越老越吃香,计算机的科班不愿意去,单片机,基本外设玩的精一点就能找到,不用刷题和背那么多的八股等。然而从去年那一级的师兄找互联网的工作屡屡碰壁从而转向嵌入式,才意识到这个行业似乎没那么轻松,尤其是黑马等机构开始培训嵌入式,几乎人手一个智能家居、智能小车项目,这个行业与几年前大有不同了,今天牛客很多帖子说堪比java。可是真正的做底层软硬件,项目并不像webserver那种,只要代码一样就能跑通,各种灵异和奇怪的事情随时可能发现,而且大概率没有具体的参考因为芯片,平台,硬件的不同,所以我感觉这并不是一个能速通去转的行业(之前周围确实有传统工科生三个月速通转到java开发的案例)。

这几年,半导体和新能源行业的发展,嵌入式的工资水平有了很大的起色,相比互联网激烈的竞争市场,愿意低个1-2k来跳到这个行业的人多了,但岗位又是有限的,所以公司选人的标准自然就五花八门,慢慢的八股背起来,题也要刷起来。
从我个人的面试经历来看,嵌入式岗位八股的考察主要是C/C++的基础知识和操作系统,计网和数据结构相对少一点,所以嵌入式的同学一定要学linux!最好应用开发和驱动开发都能有所涉及,现在也很少有岗位让你纯做裸机开发,很多soc都是多核异构,某个核心跑linux,某个核心跑RTOS这种。很多中间件和驱动层也是需要C++编写,所以也不能只会C。C++八股可以看看编程指北的博客,操作系统的八股可以看小林coding的博客,都涵盖了大部分面试的问题。

刷题的话没办法,笔试和一些面试的硬性要求,嵌入式一般难度不会特别大,当然也有不少通软和嵌入式算法题难度一样,比如华为等公司。把代码随想录和hot100里面的经典题目反复多刷几遍,很多就已经够用了,主要是一个思维的训练。

下面是个人的一些面试情况,太菜了很多简历被刷或者笔试就挂了就不写了,大部分是嵌入式岗,少数投了些c++岗,相同情况的可以看看可以投那些公司,找工作信息是十分重要的,我自己找工作以前真不知道嵌入式可以有那么多公司可以投,就知道大疆,华为,手机厂这些,多投多看,积攒面试经验很重要,秋招刚开始的几场面试基本都面的不行,就是因为没有经验,导致心态不好。可以试试看抱着战略上藐视,战术上重视的心态去面试,避免自己过度紧张而慌乱。面试前也可以社交平台上去搜搜相关岗位的面经,看看别人问了哪些问题,大概率能遇到原题!

----------------------------------------------------------------------------------

offer/oc:
比亚迪 驱动开发
开立医疗 c++开发
拓竹 嵌入式开发
海康威视 软件开发
算能科技 嵌入式开发
宇量sheng 底层软件开发
影石 云台嵌入式
富兰瓦时 嵌入式开发
旷视科技 部署优化
经纬恒润 MCU工程师
华为 终端bg 
理想汽车 linux系统软件开发

hr面挂/泡死:
美团 无人机业务 软硬件开发
虹软 c++开发
中望cad c++开发
恒玄半导体 嵌入式
商汤科技 嵌入式
广立微电子 c++开发

一面:
禾赛 操作系统  一面无后续,算挂
沐曦 一面挂
卓驭 一面挂
诺瓦星云 一面挂
蔚来汽车 换电业务 拒二面
金山cpp开发 拒一面
小米汽车 车联网 拒一面
联影 一面挂
菜鸟 一面挂
地平线  一面挂

简历/笔试挂: 一大堆。。。

三方: 理想汽车
------------------------------------
最后想分享几句秋招牛客看到自认为很有用的话,及时的宽慰了我的心态:

1.  公司面试难度大不是因为你不够行,是因为他们不怎么招人,不要因为一两次的面试压力就自我否定。

2. 比较是偷走幸福的小偷。

3. 学会祛魅,不要神话某个公司,那只是打工的地方而自己是螺丝钉,干几年说不定就会换的。

#25届秋招总结##通信/硬件秋招总结#
全部评论
恭喜,佬决定去理想了吗?我想问问佬,影石的这个岗薪资水平咋样
2 回复 分享
发布于 2024-12-15 18:21 广东
请问佬操作系统是咋学呀,Linux自己读源码?还是直接背啊。emm就是不清楚学Linux的哪方面,哪方面会被问到
点赞 回复 分享
发布于 2024-12-16 00:13 北京
这么难吗,linux那一套说实话学起来压力很大,平时都在鼓捣板子和FPGA,做嵌入式开发还是有很多不熟悉的东西的
点赞 回复 分享
发布于 2024-12-16 04:53 江苏
这是打算去哪啊
点赞 回复 分享
发布于 2024-12-16 19:43 北京
嵌入式经验宝贵
点赞 回复 分享
发布于 2024-12-17 09:24 广东
请问佬,你的简历里写的项目是什么呀
点赞 回复 分享
发布于 2024-12-18 11:53 广东
佬,方便简单介绍一下项目吗,我想评估一下自己,谢谢
点赞 回复 分享
发布于 2024-12-18 16:13 上海
佬嵌入式实习一般都是打杂吗🥺
点赞 回复 分享
发布于 2024-12-19 19:52 湖北
老哥可以分享一下你的项目吗
点赞 回复 分享
发布于 2024-12-29 20:58 湖北
抱歉打扰了 佬 想问问关于嵌入式项目的事 我现在只学了一边鸟哥私房菜、会C、stm32原理大概懂没做过项目、C++还在学 马上要找实习我现在准备项目的话应该需要一个什么样的呀 网上那个嵌入式MP3播放器之类的够用吗
点赞 回复 分享
发布于 02-07 00:00 河南
老哥,操作系统和C++问的多,ARM和stm32的知识不问吗?
点赞 回复 分享
发布于 02-07 10:24 陕西

相关推荐

02-10 15:19
已编辑
北京邮电大学 C++
嵌入式类岗位大致分为以下几个类型:嵌入式软件开发工程师、驱动工程师、系统软件开发工程师、应用软件工程师、嵌入式测试工程师;还有一些:电子研发工程师、C/C++软件工程师(嵌入式)、智能驾驶软件工程师、机器人软件工程师、硬件产品经理等等。1.1. 嵌入式软件开发工程师A公司岗位描述:1、负责设备软件的设计和交付,包括单片机嵌入式开发、DSP嵌入式软件开发、多线程多任务的动态调度、动态内存管理等软件关键技术研究;2、负责设备软件研发及商用过程中的功能、性能、功耗、可靠性等问题的定位解决;3、负责设备软件新技术的预研和产品实现,提升产品优势;4、跟进行业新技术动态,参与新技术的研究,并能引入到产品开发中。A公司任职要求:1、熟练掌握汇编/C/C++编程语言和基本的常用数据结构,了解操作系统原理;2、熟悉Linux系统编程,嵌入式系统,ARM或单片机,RTOS实时操作系统;3、熟悉HTTP/TCP/UDP等网络协议,熟悉一种或以上接口协议优佳,如:USB、UART、Ethernet、PCIE、EMMC、I2C、SPI等;4、有嵌入式系统或产品的开发项目经验优先;小结:嵌入式软件开发工程师主要负责该部门嵌入式产品的研发工作,固件开发,单元测试,代码维护等,提升产品优势。很多公司都是大类嵌入式软件开发工程师,而不进行驱动、系统、应用工程师等区分。1.2. 驱动工程师B公司岗位描述:1、负责底层驱动及上层应用的开发和调试,外设驱动的开发优化工作,比如Camera、LCD、Sensor等;2、负责软硬件结合新器件技术预研和开发工作;B公司任职要求:(与A公司要求相差不大)C芯片公司驱动岗位描述:1、设计和开发驱动程序(user mode, kernel mode, firmware etc),HAL/API,提供应用程序库的支持,提供包括内存管理,任务管理,硬件资源管理等功能;2、建立驱动程序的开发环境,包括硅前和硅后测试和调试环境,以及相关驱动程序测试工具;3、与硬件工程师和软件工程师协调提供解决平台中出现的问题。C芯片公司任职要求:1、精通C/C++编程,有Linux编程经验者优先;2、熟悉计算机体系构架,算法设计等;3、具备CUDA/OpenCL/GPU shader programming知识和经验者优先;4、有较强学习新知识的能力;具备较强的沟通能力。小结:驱动工程师主要是编写和移植各种芯片驱动,优化硬件设备驱动,一般驱动工程师指Linux上的驱动开发工程师,所以需要精通Linux驱动框架,结合芯片本身去编写驱动,所以芯片公司招聘嵌入式相关的岗位一般是驱动工程师。1.3. 系统软件开发工程师D公司岗位描述:1、参与soc软件开发,包括soc bring up软件开发、IP驱动软件开发、bootloader软件开发、操作系统移植等;2、参与soc 软件、硬件系统验证;3、参与板级外设驱动软件开发与调试;4、参与soc BSP 、soc SDK 软件开发、软件测试。D公司任职要求: (与A公司要求相差不大)小结:系统软件开发工程师主要是编写固件,需要熟悉整个操作系统组成与调度,对固件的稳定性高求很高,是驱动和应用的基础。1.4. 应用软件工程师E公司岗位描述:1、负责嵌入式系统的搭建与维护,熟悉芯片驱动、嵌入式OS、SD接口定义;2、负责软件系统的跨芯片移植(如:NXP系列、STM32系列);3、负责系统集成以及调试工作;4、负责进行嵌入式软件系统的应用开发、优化。E公司任职要求: (与A公司要求相差不大)小结:应用软件工程师主要是编写业务逻辑程序,调用驱动工程师提供的接口控制设备,软件开发过程所涉内容范围非常广,主要使用C语言开发,但经常会涉及其它语言、数据库、前端后台、各种通讯协议等。1.5. 嵌入式测试工程师F公司岗位描述:1、负责嵌入式项目功能测试、性能测试、SDK测试或者自动化测试;2、根据产品需求制定测试方案、设计测试用例,搭建测试环境;3、依据测试用例完成产品的功能测试、硬件指标测试等,记录测试结果,报告与跟踪产品缺陷,并协助研发人员进行缺陷定位与重现;4、编写测试报告,根据测试结果评估软件质量;5、进行测试总结,编写测试相关文档,对测试中存在的问题及时分析与解决,并提出改进建议E公司任职要求:1、有嵌入式软件开发的经验优先;2、有脚本语言(如python/shell)的使用经验;3、有Linux下的自动测试和测试开发的经验;4、熟悉嵌入式调试技术及工具;5、具备良好的沟通表达能力,良好的分析解决问题的能力;剩余的大佬面经总结了  链接在下边   http://daxprogram.com
点赞 评论 收藏
分享
评论
35
118
分享

创作者周榜

更多
牛客网
牛客企业服务