关于校招和嵌入式软开的学习路线的总结和一些思考

Posted 路平.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于校招和嵌入式软开的学习路线的总结和一些思考相关的知识,希望对你有一定的参考价值。

关于校招和嵌入式软开的学习路线的总结和一些思考

作为一名求职者的总结和思考

  • 今天收到了心仪公司CEO终面的短信,投的是嵌入式软开,还是非常开心地。

  • 求职还是比较消耗精力的:

    • 第一环节投递简历,有些公司要填很多东西,比较麻烦,投的多了会消耗很多时间,个人的策略还是有针对性的去投。
    • 明显能感觉得到,有些公司的进度是非常快的,雷厉风行。简历筛选、笔试、测评、技术面以及HR面安排的还是比较有序和紧凑的,而且每个环节都会有及时的反馈。可能在文字上就是几个正面的形容词,但落实到公司每个实际负责的HR上,应该是非常大的工作量,其实是并不容易。我个人也更加倾向于这种公司,因为效率高能代表和反映出非常多地东西。有些公司就不谈了,无状态、无进度、无反馈,懂得都懂。管中窥豹,以小可以见大。就跟一个人一样,如果一个人次次迟到、办事拖沓、事事无交代无反馈,那就能反映出很多的东西。
  • 作为求职者,个人思考后总结出基本就是两个原则:
    1. 专业或者技术栈与岗位匹配,知识和技能基本达标或是胜任,这个就是硬实力了,没什么好讲的;
    2. 一定要靠谱,从招聘方的角度来讲,个人感觉技术面评价第一条和第二条兼有,而HR面则是评价第二条,以及你的求职意愿,简单来讲就是你能不能来,把你招来靠不靠谱。既然HR负责招聘,那肯定会承担相应的责任,招聘到合格的靠谱的人才是他的目的,招聘事故应该是HR最怕的。HR应该会从你的言行中评估你的靠谱程度和意愿强烈。

  • 如果两条都达到了的话,除了没有hc或者有人更优秀,感觉拿到offer的概率还是极大的。

  • 没拿到也没什么好讲的,个人的态度还是要端正的,要么自己学的不够深、不够广,没什么好讲的。HC的多少自己也不能决定,有人更优秀,那他先拿offer也是合情合理的。

  • 人生只有一件事一书的作者金惟纯先生有一句话非常的好,一定要分清自己的事、别人的事以及老天的事。自己的事是专业和技术能力、别人的事是他自己的专业和技术能力、HC的多少以及是否有offer那就是老天的事了。

  • 做好自己的事,了解或学习别人做的好的事,不去忧虑和担心老天的事。

嵌入式软开的学习路线

  • 网上很多的文章和只言片语对我都曾有过很大的帮助,特别感谢某乎懒懒土拨鼠2020年关于校招的总结一文,最有帮助的是嵌入式软开几个阶段的论述,推荐书目以及其导师的分析与建议。
  • 文中有一句话始终印象深刻:尽管现在的技术迭代更新换代非常快,有很多的新框架和新风口,但是只要它跑在二进制计算机上,有些东西就是不会变的。所以理解计算机工作的本质,掌握以不变应万变的能力在嵌入式编程中尤为重要。好的程序员对自己程序的每一个bit都会了如指掌。
  • 自己在啃了ARM体系结构的一本大黑书、Cortex-M3权威指南 - 宋岩译(非常好的资料,特别感谢宋前辈)以及程序员的自我修养-编译-链接与库(非常好的书)后,对计算机和程序的理解确实完全不一样了,这比去学习一门新的语言的收获要大的多。最近又看到不知道是哪个大佬说的一句话,在哪看到的有点忘了,大概意思就是:如果一门语言不能帮助你更好的或者从另一个角度去理解计算机,那么学习它就是没有必要的。这与前面所提的思想不谋而合。不管什么语言编写的程序,落到最后还是某种平台对应的一条条的机器指令而已。
  • 在此借用一下土拨鼠前辈总结的嵌入式学习路线,对自己也是一个回顾和简单的规划。
  1. 裸机驱动阶段
    • 重点是理解软件和硬件是如何联系在一起的:寄存器地址、寄存器结构体的typedef封装以及宏定义是如何联系在一起的。
    • 如何用汇编和C指针去直接操作和配置寄存器(对寄存器的读写)。
    • 吃透启动文件。(想真正理解硬件是如何工作的,必须在汇编层面上去理解,越深入就越会发现汇编的重要。FreeRTOS的核心任务启动和调度就是汇编写的,不懂汇编是不可能学透的。)
    • 或许可以加上各个芯片外设的配置和使用,GPIO、UART、ADC、Timer、I2C、SPI以及DMA等等。内核外设:NVIC、SysTick以及Clock等。
  2. RTOS阶段
  • 移植RTOS。
  • 使用汇编完成RTOS与硬件平台的接口部分
  • 吃透硬件的中断的机制。
  • 吃透上下文切换的本质,彻底理解RTOS。
  1. Linux阶段
  • 土拨鼠前辈把ELF文件和静态链接的部分放在这里,确实是比较合宜的,之前不懂。学过之后,一直想写一个自己的readelf,借此巩固文件IO、标准IO、命令行解析以及ELF格式,找时间争取完成它。
  • Makefile、常用命令、Shell脚本
  • U-boot、Kernel移植、根文件系统构建
  • 文件系统的理解 - inode
  • Linux驱动
  • 系统编程:IO及其缓冲机制、进程、线程、IPC
  • 网络编程:socket、TCP/IP
  • 数据库编程
  • 目前阶段:Linux阶段
  • 短期目标:吃透inode,吃透虚拟内存机制。
  • 长期目标:完成Linux阶段、过程中查缺补漏,回顾和巩固一、二阶段以及底层知识。

校招答疑总结!准备实习校招的学妹(弟)们,可不要努力错方向了!

大家好,我是路飞,校招答疑帖来啦!

正值秋招季,今天这篇文章来给大家分享一下关于在校生投递实习,应届生参加校招需要注意的一些问题。

1、校招和实习的区别?

  • 校招:应届生招聘,招聘对象是即将毕业的大四、研三应届生,校招拿到offer后,就是正式员工的劳务合同,需要签署第三方协议(学校、个人、公司),在学生拿到本科/硕士毕业证之前,校招生可以选择提前入职实习,实习待遇和实习生待遇相同,按天结算。也可以等到毕业拿到毕业证之后再去入职,劳务合同从入职起正式生效,公司会按照合同给应届生发放正式薪资。不过一般会在学生拿到毕业证之前或者之后的3个月先发放80%的使用薪资,等试用期过后,再发全薪。(:校招有些大厂会分提前批招聘和正式批招聘,这个后面说)
  • 实习:在校生招聘,招聘对象是尚未毕业的大一、大二、大三、研一、研二在校生,实习拿到offer后,会安排签署实习合同,实习合同有些公司是签一年,有些是几个月不等。

待遇方面,校招(毕业后入职)和实习差别很大:

年终奖金 base * (N - 12)加班费(一般是2-3倍日薪资)绩效五/六/七险住房公积金员工福利
校招
实习

日常实习、暑期实习、校招实习的区别?

日常实习:和暑期实习都是实习合同,日常实习合同时间较短,面试难度比暑期实习低一些,但是转正机会也底一些,有些公司的日常实习是没有转正名额的。日常实习通过之后,可以随时入职,随时离职。

暑期实习:是指暑假期间实习,一般是7月中下旬入职到9月中下旬,如果是应届生(比如我是22届,今年的应届生),在公司实习两个月及以上之后,可以参加公司的实习生转正答辩,如果通过,则发放校招意向书,如果转正失败,则需要离职,重新去投递校招。暑期实习答辩转正是应届生进入大厂的捷径,因为暑期实习难度相比于大厂的校招面试,会低一些,而且公司也会优先分配校招HC给优秀的实习生,剩下的HC再分配给应届生校招。

注:实习生转正,只是针对于应届生身份才可以参加答辩转正,在校生一直到即将毕业之前,都是没有转正答辩机会的

校招实习:校招实习主要是那些拿到校招正式批offer后,自己跟公司申请提前入职实习的应届生。他们不需要签署额外的实习合同(因为同意offer之后,就相当于是正式员工啦,只是没拿到毕业证之前没办法发放正式薪资)。

2、大学期间有几次校招机会?分别是什么时候呢?

大学期间,校招一般就是2次机会:

  • 应届生秋招,金九银十(每年的8月中旬到10月底,只是大致范围,不同公司招聘的时间范围不同),秋招招聘力度相比于春招是最大的,招聘岗位多,招聘力度大,持续时间长。
  • 应届生春招,金三银四(每年的3月-5月份),春招也算是校招的收尾阶段,这时候很多公司都会有补录HC(名额),也会开放一些秋招没有招满的岗位,继续招聘。春招相比秋招,招聘力度小一些,所以建议应届生小伙伴们一定要尽量先抓住秋招上岸的机会!

需要注意的是,有些公司会把校招分为提前批、和正式批。

提前批面试难度较大,但是有些公司会免笔试流程,直接进入面试环节。提前批面试时间一般比校招正式批提前1个月左右,且提前批面试没通过,不影响校招正式批面试投递(相当于2次机会)。

校招正式批面试,难度比提前批小,但是招聘力度大,一般不免除笔试,一家公司某部门的岗位只有一次投递机会。

3、校招和实习的面试流程是怎样的?

我们举大厂面试流程为例:

  • 实习:有些公司会先安排在线笔试(也有些可能没有),笔试形式有牛客网的链接、公司自己的链接,或者将笔试穿插在视频面试环节,面试官看着做题(这种是最恶心的)。大中厂的笔试一般是以算法题为主,少部分有一些sql编写题目(小公司和外包公司多以理论知识、 sql 题、选择题、案例代码题为主),笔试通过后,进入面试环节。大公司面试一般是2-3轮技术面试,面试考察范围可以参考我的秋招总结帖的第3小节:如何自学。技术面试通过之后,最后就是(主管+HR交叉面)或者HR面。到HR面基本上就稳了,因为HR面主要问一些生活、学习上的问题,以及什么时候入职啥的,基本上不问技术问题。HR面结束后,等待发放意向书,同意意向书后(OC),发放offer,然后按照offer约定的时间入职实习。
  • 校招:校招面试和实习面试流程差不多,区别在于校招面试难度大一些,而且基本上大中厂笔试是必须的,从接受意向书到offer发放再到签合同整个流程会更长一些,而且在接offer之前,HR会先跟应届生谈好毕业后的正式薪资待遇。

5、什么时候开始准备实习,校招?

实习准备

实习准备越早越好,前提是自己的能力达到了去大公司实习的标准,现在多数互联网大厂的日常实习都是可以随时投递的,不限年级。相比于学历,大厂校招,更注重校招生是否有其他大厂的实习经历。

尤其是对于大二、研一的同学,不要觉得实习就业距离自己还很远,等真正到大三或者研二再考虑准备实习,本身就比很多卷王们慢了一步,而且大三或者研二已经到了该准备校招的阶段(校招可不是大四、研三学生的事儿,而是大三、研二就该准备了!)。

经常有些大三的学弟私信问我,到底是该准备大三暑假的秋招还是准备投递实习。最佳的在校生实习时间就是大二暑假、大三寒假,然后准备大三暑假即将开始的秋招!

校招准备

上面提到了一点:校招可不是大四、研三学生的事儿,而是大三、研二就该准备了!

如果到了大四才考虑去准备校招的话,显然会失去很多机会,例如校招提前批没把握住,暑期实习转正机会没把握住,又缺乏实习经历在校招面试中没有加分项。

而且,秋招在大四开学之后,到10月底陆续收尾,岗位的HC越来越少,面试难度也会增加。如果秋招没把握住,那就得全力突击一份实习岗位,然后边实习,边准备来年的春招(最后一次机会)!

5、应届生实习和校招选择?

在第1小节里,对比了校招和实习的区别,所以我建议,应届生一定要优先考虑校招,其次是实习。如果在秋招面试中,实在是进不去自己心仪的企业,那么就考虑找一份实习(尽量投递大厂实习),然后一边实习,一边学习,准备来年春招。

6、投递校招或实习之前应该学到什么程度?

具体学到什么程度,我想谁都没办法给出一个具体的参考范围。

这里就以面试必须要有的简历为出发点,大致说一下应该学到什么“程度”?

如上图,这是校招/实习生简历必须要包括的5个部分,如果上面几个部分都具备了,那么就可以去投递简历,然后准备面试啦!

下面我们来说一下,这几个部分应该具体包含哪些内容?

  • 教育经历:这部分其实就是指自己的学历(大专 or 本科 or 硕士 or 外星人)、在校成绩、自己的学校名称、专业名称等等。
  • 专业技能:这部分需要写你目前所具备的技术栈范围,eg:熟悉计算机网络、操作系统、数据结构等计算机基础学科知识;熟练使用SpringBoot等主流开源框架等…
  • 实习经历:对于校招求职,有实习经历、有大厂实习经历,都是加分项。
  • 项目经历:对于没有实习经历的同学,简历里面最好写2-3个自己做的项目案例,因为求职时,项目是不可或缺的。
  • 荣誉奖项:奖项的话,范围就很宽了,可以是英语四六级、ACM、CTF拿过奖、蓝桥杯、软件设计天梯赛、软考、国家奖学金等等。

注:这里给大家推荐一个简历制作网站,超级简历 https://www.wondercv.com/

7、实习生合同没有到期之前,可以离职跳槽吗?

实习生实习期间,是可以离职的,但是啊,实习就是为了学东西、攒经验才去实习的,如果只干1个月就溜,也接触不到太多东西呀!

8、大三学生考研VS就业,该如何选择?

(什么样的人适合考研,而什么人适合就业?)推荐大家看一下三太子敖丙的这个视频:考研还是工作?毕业2年同班同学差距这么大!

校招进大厂意味着最终胜利吗?

校招只是一个起点,慢慢长路只是打赢了第一场战役,技术能力是需要日积月累的,八股文可以帮你应付校招面试的一些问题,但是帮不了你应付今后的职业生涯。所以,校招即使进了大厂,也不能懈怠,要继续学习呀!

9、算法在校招面试中的地位。

有些人觉得算法好就足矣轻松进入大厂,其实不然,算法只是校招面试的第一关(笔试环节),只有笔试通过后,后面的2-3轮技术面才是最关键的。

如果笔试无法通过,技术面试也无从谈起。

我们刷的leetcode算法在以后工作中经常用吗?

No! 恰恰相反,用的很少,公司里是团队开发模式,你写的代码不仅要自己看懂,也尽量保证通用性,让别人也能看懂,动态规划,马踏棋盘,回溯什么的在工作中很少用。

这里,可能有小伙伴会质疑,你后端开发用不到,不代表人家算法岗也用不到呀!

这个问题,我参考了一下今年校招拿字节,华为CV算法岗意向书的卷卷大佬的回答:算法岗更多的是注重数学能力,和实际的应用算法(AI,深度学习等),也不会每天工作中都去写LeetCode算法题那种代码。

那我们刷算法题有什么用呢?

傻瓜,因为校招大中互联网公司必考算法题。谁不想去一家好点的公司呢?

所以,为了校招面试,算法不能丢下!如果你是一个大一大二的学弟,每天坚持刷一道题,一年下来,肯定收获满满,最起码在算法能力上会有很大提升!

10、校招重视技术栈和项目吗?

说不重视是假的,但又不是绝对重视。(狗头🐶)

因为校招面试,尤其是中大厂面试,他们更在乎学生的基本功和培养价值。技术栈上手使用很快,培训机构六个月出来就可以上手CRUD。

其次,技术栈(框架,中间件等等)的基本使用很容易上手,熟悉原理很难,面试官不会在校招面试中让我们怎么用框架写一套CRUD逻辑,多多少少都会问一下原理相关的,或者一些实际场景题。

举个例子,假如你简历里技术栈中包括Spring Cloud或者Dubbo Zookeeper等,面试官问你如何自己实现一套RPC服务调用的框架,你该怎么回答?

再比如,你说你学过RabbitMQ,Kafka等消息中间件,那举一个实际场景问题,生产者在并发条件下生产了两条或者多条一样的消息,消费者只消费了其中一条,这种问题如何解决?(非常常见的面试题,至少我遇到过好几次了)

所以,对于校招生来说,并不是技术栈和项目不重要,只是相对于语言基础知识(包括源码),计算机基础学科等方面,后者性价比更高。

而且,自己在简历里把跟着网课堆积的框架中间件全写上,反而给自己扩大了面试官问问题的范围,这些东西写上不一定加分,但是问到不会反而成了扣分项。

秋招这段时间,帮忙看了一些身边同学的简历,简历上面技术栈很庞大(分布式,微服务,中间件,各种框学了很多),但是问一下最简单的 HashMap 的数据结构就答不上来,甚至都列举不出一个Java多态的实际例子。

这样给面试官的感受就是头重脚轻,快餐式学习。

所以,对于应届校招、在校实习生来说,技术栈是一方面,更重要的是算法、计算机基础学科,八股文等方面的内容。

最后

我是路飞,一个在互联网摸爬滚打的萌新程序员!如果你距离毕业找工作还有一段时间,想走一个正确的方向,欢迎加入我的自学交流群,和大佬们一起抱团内卷!

秋天是一个收获的季节,在这里祝大家前程似锦、offer连连!

以上是关于关于校招和嵌入式软开的学习路线的总结和一些思考的主要内容,如果未能解决你的问题,请参考以下文章

Linux C/C++ 学习路线(已拿腾讯百度 offer)

校招答疑总结!准备实习校招的学妹(弟)们,可不要努力错方向了!

答疑总结!准备实习校招的学妹(弟)们,可不要努力错方向了!

4000字干货长文!从校招和社招的角度说说如何准备Java后端大厂面试?

校招宝典双非腾讯亲自分享的Android学习路线,赶快拿走收割offer去!

前端面试要点