学弟进小米了!

大家好,我是鱼皮,开了 知识星球 后,我认识了很多小伙伴,也从他们的身上学到了很多。

今天和大家要分享的,是一位双非本科学弟进大厂的故事,干货满满。

相信从下面他的分享中,也能感受到他求知、做事的态度。

一、自我介绍

大家好,我是买菜,很高兴能在鱼皮的星球与大家相遇,希望能在这里结识志同道合的伙伴,接触更多优秀的同学,保持终身学习,和大家一起慢慢探索职业发展道路。

我就读于一所偏文科类的双非院校,是 2022 届毕业生,电子信息工程专业,签约的是小米的嵌入式软件工程师。虽然星球里更多的是前后端以及其他方向的软件开发,但也希望嵌软能丰富星球的构成,我也相信软件编码在底层以及思想上是有互通的,希望能和大家互相学习,共同进步!

应鱼皮的邀请,给大家分享个人经历以及求职的一些小建议。

由于我的求职意向是嵌软,所以本文会有一些偏向,但同样有不少通用套路,希望大家能各取所需。

二、秋招之旅

谈到秋招,就简单回顾一下大学生活吧。

大一

大一上就正常上下课,没事了就打打游戏,现在好怀恋那时候,是真正无忧无虑,临近期末考试那会,结课也比较早,连续很多天没课,那时候还不知道是考试复习周,一边玩一边慢慢的准备复习。好在最后没挂科,成绩也不上不下的。

然后转眼到了寒假,觉得不能再荒废下去了,那时候了解到学院有个科创社团,很厉害,于是暗暗定下目标,一定要加入进去。然后寒假就开始自学了 C 语言,更着小甲鱼的教程,刷完了视频,C 语言也算是入门了吧,当时指针都不会用,觉得好难,现在回头来看,C语言的坑还大着呢。

然后大一下也在好好上课,想把绩点拉高一点,同时也在自学单片机,当然是最简单的51单片机,然后暑假就继续学,开始做自己的第一个项目准备开学去参加科创社团的招新答辩。当时自己画了电路板和写程序,准备做一个智能定时器,可惜最后还是没有联合调试出来,但是也顺利通过了答辩,加入了团队。

大二

大二成功加入了目标社团,目标达成,然后开始参加比赛,组队友,写文档,做项目,同时还要忙学习,现在想想大二好像过的挺充实的。我在大二下的时候就有团队里的学长拿到了大厂 offer,然后那个时候就突然觉得,目标要改一改了,然后就想毕业的时候一定要找一份满意的工作,要进大厂。大二那个暑期找了一个实习的工作,主要是负责做测试。

大三

时间来到了大三上,当时就忙着学校的事情,团队,上课,做项目等等。大三寒假在家准备找实习,整理笔记,大三下开学后就开始准备找暑期实习了。当时认真的改好了简历,投了菜鸟裹裹和 CVTE,菜鸟裹裹笔试挂了,CVTE 因为自己想要多准备一会,所以做笔试也比较晚了,在 4 月份左右,当时可能 hc 已经没了,但是还是被捞起来面试了。

秋招来了

CVTE 的面试也算是人生的第一场正式面试,面完之后陷入了深深的自我怀疑。

整个面试过程中,虽然没有太多的技术问题,但是仍然面了一个小时,在面完之后,自己回想起来也非常不舒服,和面试官沟通的时候,因为自己手里的筹码不够,显得非常被动,例如一段经典对话:

面试官:“你能接受加班吗?”

我:“巴拉巴拉一大堆。。。”

面试官打断说:“我不想听你说这么多,还要我去猜,这样对公司,对个人都不好,巴拉巴拉。。。”

我:“可以接受 996!”

面试官继续问:“996是起点还是终点?”

我当时人都傻了,内心极度不爽,已经想骂面试官了,但是为了实习机会,我还是停顿了一会,说:“是中间点”。

面完之后,心里很不舒服,当时下定决心,一定要好好学习,提升自己,让自己以后再遇到这种 shabi 的 PUA 问题有怼回去的资本。

这期间还投递了一些企业,可能是投晚了,没有什么反应,也大概知道了自己的水平。于是放弃了找实习的机会,准备好好学习几个月,秋招再冲。

接下来的时间就泡图书馆,系统地学习以及总结,查漏补缺。刷了数据结构的课程,并且开始刷力扣,学习了一些操作系统相关的知识,并且升级了自己的项目,入门了通用操作系统等等。。。

这之后本来最开始想要准备电赛,但是自己在年级群的偶然的发现了一则实习招聘信息,在珠海,还是中国上市五百强,做打印机的。自己抱着试一试的心态投递,没想到两面很顺利,就中了。后来,电赛延期到了 11 月份了,我感到很庆幸,还好当初去实习了,没有死磕电赛。不禁感慨道:人生往往就是精心策划的事情落空,不是很在意的事确成功了,包括后来秋招也是,无心插柳柳成荫。

然后做完学院的实训项目,在七月份的时候就去珠海闯荡了。在珠海因为好歹也是大一点的公司,流程制度也很完善,项目开发周期也比较长,而自己又是实习生,还是要靠自己努力学习。实习了大概一个月左右,觉得自己对实习公司的工作不是很感兴趣,然后发现可以开始秋招投递了,于是开始尝试投递,同时开始了秋招复习。

在八月初的时候开启了第一波投递,当时认认真真的改好了简历,就去投递了,当时心想着,第一批投递就拿来练练手,积累积累经验,当时还在实习,还要请假面试,有点心累。正好我一个一起准备秋招的好朋友拉我投联发科的提前批,免笔试,当时抱着试一试的心态,结果我们两都上岸了,真的太爽了这种感觉。在八月底拿到了联发科的意向书之后,我就暂缓了秋招,想躺平了,9 月回到学校后,就没怎么投递了,基本都是之前投递的还在流程中。这期间终于收到了大疆的一面,大疆是我很想去的一个公司,一面完了问面试评价也挺好的,结果迟迟没有二面,我也大概猜到了结果,果然在国庆节前几天收到了感谢信。巧合的是,之前投的小米以为会没结果,却走完了两面,拿到了 offer,对这个 offer 我也非常满意。9 月也突然被大华捞了起来,直接一天面完了,然后在 9 月底收到了 offer。还有八月份面的泰凌微电子也在 9 月发了 offer,虽然公司体量不大,但是给我的感觉非常棒,有一点心动,差点就去了。

三、如何准备

3.1 求职时间

在校生想要去一线大厂一般有两种方法,一个是实习转正,一个就是走校招。总的来说,还是实习转正难度低一点,并且找实习一般是在校招之前,所以要积极准备大厂实习,就算没找到,准备的过程也是一种经验的积累。明确求职时间与投递时间,提前准备,做好规划,了解企业招聘所需的知识点进行对应的学习与准备。早准备,多面试,不要觉得准备到了100%再投,永远没有100%,面试才是最快的提升方法。

3.2 准备方法

我把找工作分为了三个部分,分别是基础 + 刷题 + 项目。

基础是平常的积累与总结,刷题是面试的一个门槛,笔试都过不了,面试的时候代码都撕不出来,那还怎么拿 offer 呢,项目则是决定了面试的成功与否。当然,在这三者之前,你需要做好一份简历。

简历

简历很重要,我自己的简历改了很多版,在我看来,简历有一些最基本的原则需要做到,同时也要适当的包装一下,这样子才能有机会面试。同时要明白,简历不是一次性就能写出来的,简历是改出来的,简历是需要反反复复修改的东西。

重点:写简历的时候,我们应该要知道,简历是引导面试官提问的东西,为求职沟通打开一个窗口,并且能完全展示自己的技术以及综合实力。所以在写简历之前,应该明确自己有什么东西证明自己的综合实力,技术优势在哪,实习与项目需要有什么亮点,怎么与自己的技术体系联系起来,怎么引出自己的技术优势,在写简历的过程中不断地思考,完善简历。

基础

基础是需要日积月累的东西,它就像是你的内功,内功越好,在修炼后面的招式的时候也就越快。同时基础知识也是决定你技术栈的宽度与深度的一个东西,面试的时候,面试官的各种提问无非就是想要探寻你的知识边界,了解你技术栈的深度与宽度。若是你的技术栈像大海一样,深不见底同时又宽广无垠,那怎么会愁找不到工作呢(手动狗头)。

扯远了,回到嵌入式软件求职所需的基础知识上来,我们需要建立自己的知识体系,平时要多做总结,多做笔记,让自己的知识能形成一个闭环(就是知识体系建立到一定程度后会有打通任督二脉的感觉)。嵌入式具体的可以参考我的个人笔记,我放在了码云上,链接放在后面的资源推荐中了。(下面这些知识,非嵌软求职的同学就可以跳过了)。

我的笔记中把嵌软求职的知识体系分为了三个部分,分别是硬件层,底层,应用层。同时还有一些通用知识必须掌握,比如 C 语言。嵌入式的知识非常的多,可以根据自己的求职意向或者兴趣爱好有针对性的去学习与积累。想要做偏硬件的嵌入式,那么硬件层的知识肯定要自己掌握了,模电是最基本的;做单片机相关的开发,单片机的知识,ARM 体系架构等也需要相对应的学习;做 Linux 相关的开发,操作系统,数据结构一定要学好。我自己是想要做嵌入式的应用开发,同时希望能上到 Linux 这样的嵌入式开发,我会针对性的去学相关的知识,如通用操作系统,RTOS 应用以及内核原理,数据结构,C 语言。基础知识的积累在这也是没办法一下子讲明白的,需要自己思考总结,个人笔记仅供参考,可以用来查漏补缺,切勿上头,笔记中肯定存在疏漏或者错误,并且不能保证全面性,看笔记也就图一乐,学技术还得靠自己。

刷题

刷题其实是基础知识和算法的体现,开放岗无论是什么都离不开刷题。我猜有一半的人会在笔试中挂掉,当然我自己也挂过好多次,当挂多了才意识到刷题的重要性啊。

刷题一般分为基础知识和算法题。嵌入式软件开发,公司笔试出题一般会有选择,填空,简答和编程题。需要自己多去找其他公司往年的真题来做,当做多了,自己也会有感觉,发现高频考点与题型都是那么一些。算法题需要积累与保持手感,不然会像我一样面试的时候,手撕算法题卡壳。嵌入式软件的编程题一般用 C 语言来做就好了,在牛客网或者力扣上面刷,主要刷简单题就行,笔试面试常考的也是简单题,特别是数组题与链表题,高频,一定一定要刷。找工作的期间最好保持每天一题,保持一种做题的手感。

项目

前面说到,项目是决定面试通过的关键,其实进入到面试环节,就有一定的运气成分在里面了,这个时候我们只需要做到自己的技术实力过硬,然后和面试官好好聊天就好。项目可以是很基础的项目,比如手写一个 rtos,也可以是自己做的比较综合的项目。项目的作用就是把自己的技术栈和项目结合起来,让面试官能通过项目了解到你会什么,你会的程度怎么样,所以在写简历以及准备项目的时候就要围绕这一个核心点来展开,突出自己的项目亮点以及技术亮点!

3.3 其他

前面说了那么多,都是硬实力,需要一个积累的过程,那么这一段讲的就是一个软实力,能够在短短几天取得一定的突破。

自我介绍

几乎每一场面试,面试官首先就是让你做一个自我介绍。那么我们需要提前准备好自我介绍,可以从在校经历,项目经历,实习经历展开自我介绍,具体怎么介绍需要自己去思考,“我想让面试官get到什么点,怎么把自己的优势展现在面试官面前”,准备好了自我介绍之后,自己去反复练习,反复背诵,最后达到自信,有节奏感的介绍自己。

项目介绍

需要自己提前做好一段项目介绍,要有一定的逻辑性,确保面试官能听懂的同时了解到你的项目优点和你的技术优点。所以项目介绍这一块也需要提前总结,反复练习,确保能够流畅的讲诉。

比赛介绍

我在面试的时候,有的面试官会对我的比赛经历感兴趣,让我介绍一下。最开始没有准备,完全临场发挥,表述的逻辑性可能欠佳,而且面试官也不太清楚你在这个比赛中做了什么,学到了什么。所以这一块也可以前准备,有一定逻辑性去介绍,比如按照时间线来介绍,或者按照开发进度去介绍,同时可以在最后加上自己的一些感悟和收获,表示自己确实获得了成长。

HR面

有的 hr 面在技术面之前,有的技术面夹杂着一些hr面的问题。在此类非技术类问题中,要表现出,想去贵公司,对贵公司有一定了解,回答主要围绕着这样的点去答,就算自己不一定想去,也不要表现出来!!可以提搜索一下hr常问的问题,提前准备,看看面经,思考怎么回答。

其他

此外,大家可以多刷刷面经,多思考,多总结,多积累。还有最重要的一点,多面试、面完之后进行复盘,在实战中进步是最快的!

四、心路历程

把心路历程单独列一个大点来讲,是因为我觉得心态非常重要,offer = 心态 *(硬实力 + 软实力)+ 运气。

还有,大家要对自己有信心,不要因为学校什么的就觉得低人一等,觉得自己高人一等更是没必要了,自己与自己比较,努力提升自己在什么时候都是真理,用技术与实力赢得尊重!

在求职过程中,一般会是迷迷糊糊开始准备,然后开始投递简历,在笔试或者面试中遭受打击,开始焦虑,不断鼓励自己,不断学习积累,开始转变,得到肯定,收获肯定,分享经历。

上面的心路历程相信也是大多数人的一个经历。每个阶段都会有每个阶段的心态,我们要做的就是保持自己良好的心态,并且不断鼓励自己坚持下去,学下去,只有这样形成一个正循环之后,我们的知识积累才会越来越多,面试越来越顺,当自己变得自信起来时,offer就近了。

详细的心路历程可以看看后面资源推荐中的经典面经,总结起来有以下几点:

  • 首先是要正视自己的能力。不轻视,不高估
  • 当你求职的时候就会发现,原来还有那么多公司,名字都没听说过,这些公司也活得好好的,盈利也不错。所以不要轻视自己的能力,最后总能找到一家公司的。
  • 不高估自己,对自己有一个清晰的定位,不去和神仙打架。
  • 多鼓励自己,学会自我调节,坚持下去
  • 对于身边的同学,多交流,不盲目比较

身边能有小伙伴一起准备秋招是很幸福也很幸运的事,大家一起鼓励,一起前行。也感谢鱼皮的知识星球给了学编程的小伙伴们互相交流的机会,大家一起学习真的很舒服。

但是也要记住,不要盲目和他人去比较,每个人的优势和特点都不一样,我们只需要做好自己就好了,到最后大家找工作一起上岸也是非常非常幸福的事!

五、资源推荐

推荐一些自己准备过程中看过的书籍资料和视频:

  • 《C++开发面经与嵌入式软件面经(蒋豆芽面试题总结)》牛客网豆芽兄的专栏,很高频。

数据结构与算法

  • B站赫斌 数据结构课程
  • 《大话数据结构》
  • 《算法图解》

操作系统

  • B 站哈工大李治军老师
  • 《操作系统导论》带我入门操作系统
  • 《基于嵌入式实时操作系统的程序设计》周航慈。这本书带我真正入门了 RTOS 的使用。
  • 《嵌入式实时操作系统uCOS-II》邵贝贝(第二版)。
  • 野火的关于 ucos 的相关视频与资料(野火讲的很底层很基础,非常有用,回头来看,感触很大)。

C语言

  • 《C和指针》

其他

  • 《程序员的自我修养--链接、装载与库》
  • 我的个人笔记,大家快去给我点小星星呀:https://gitee.com/wang_chunfeng/embedded-notebook

最后非常感谢这位同学的分享,需要的话,大家可以在星球里找他交流一下,取取经。

加入星球

👉🏻 点此加入星球