寒气逼人,要不换个赛道吧!
本人本硕双非,计算机专业。本人真的很菜现在拿的都是小厂offer,几个大厂都遥遥无期,目前拿到的offer泰凌微、景嘉微、旗芯微、北京万集、江波龙,海康威视、ADI、和芯星通在等流程。秋招项目简历的有四个,自学项目基于imx6ull车牌识别、freertos简单内核实现,工作期间一个多点触摸屏项目STM32驱动、本科期间老师外包项目stc15驱动。在这里提醒一下在有时间的情况下,尽量多弄几个项目。因为在面和芯星通的时候,面试官对我说她挂了一堆简历,然后看到我简历上面项目比较多,然后她就说觉得我个人学习动手能力应该比较强,然后面了我。
本科期间,因为是物联网专业学过单片机,后面被老师叫去干活,做一个环境监测系统,挣了人生第一桶金400元。一战985复试被刷,工作过几个月也是做嵌入式软件开发,后面辞职考研二战上岸。研究生期间,因为是做密码学方面的研究。基本上研一到研二上,基本上没有碰过嵌入式软件开发了,相关一些东西基本忘完。中间也都按照C++后端技术路线学习一些东西,也就是今年3月份互联网大面积载员和毁约,也就是某某几个公司轮流热搜载员。我当时悟了,果断把手上的《go底层原理剖析》放下,go的那个框架我也不看了。
就此的话,我就进入linux驱动开发自学中去了。首先买了一块野火IMX6ULL开发板,对着野火linux驱动教程。基本上掌握了字符驱动的编写,熟悉驱动设备模型。这里比较重要的一些知识点比如中断过程、模块怎么加入内核中、驱动模型......。当然还有linux内核进程管理、内存管理、文件管理等几大模块知识框架知识,不求细节每到一处,大体熟悉原理机制。特别需要深刻理解内存管理,,比如new或malloc的过程,一系列的调用,以及它占用那块区域和那块区域怎么分配的。中断,硬中断和软中断是怎么协同完成中断这个中断事件,或者是说从芯片收到的电信号到中断函数执行的流程。比如同步与互斥,之间的各种锁的实现及特点,使用那种情况。
面试
后面就到5月份左右,我开始准备投实习练手,积累面经。实习面试了高通、英特尔,也投了其它国内某某公司竟然挂了简历。
高通面试问题:问了一些八股文类的,项目问的不多,和加上自己研究方向。
英特尔:聊得不错,问的也都答上来。问我啥时候可以过去实习,后面就没有消息了。
投提前批的公司有:oppo简历挂、地平线二面挂、zeku一面挂、百度一面挂、蔚来笔试挂、中了初创汽车mcu芯片公司旗芯微嵌入式软件(技术面+HR面)、中了景嘉微Linux软件开发工程师(二轮技术面+HR面)、中了北京万集嵌入式软件、泰凌微二轮技术面+HR面(泡池子中)
我以亲身试险:oppo、地平线、zeku、蔚来不要投提前批,会影响正式批的。还是先打野,积累下经验吧。当然这里不是建议你不要投提前批呀,而是投之前打探清楚是否会影响正式批再去投。比如今年有公司提前批基本上招满了,提前批拿到offer也会让你接下来的秋招,睡觉安稳。据今年来说的话,芯片公司在6月中旬开始提前批了。关注一下,数字IC打工人这个公众号,基本上每天会有3个公司招聘信息更新,这里感谢一下号主。信息来源的也很重要,尽量潜水
正式批的话,投了vivo、华为简历直接挂、集创北方(技术面+技术&HR面)两月池子挂、中了江波龙(技术面+HR面)、和芯星通(一轮嵌入式后被转岗测试研发+二轮技术面+目前还在等结果)、海康威视(内推码的话免笔试+技术面+HR面+目前等流程)、收到笔试有英特尔、AMD、壁仞科技......基本投的大概有笔试,因为投的太多了,实在记不起来了。还有其它一些公司在等结果的以后再更新
具体面经的话:这个不太好说,基本上看面试官的心情,俗称薛定谔的猫。所有面试官问的一些八股文问题,可以做一个简单的交集。比如堆栈的区别、static的作用、volatile的作用、指针常量与常量指针、C++的多态实现,这些基础问题答得好坏很有可能影响面试官对你印象,在这里我想说的是不要凭着记忆背诵,这样肯定不行。对于堆栈区别,为啥会有堆栈,它们在进程中是怎么分布的,然后再谈具体的不同由啥导致的,不要上来把那些背的直接怼。对于static关键字修饰变量,你要说出在进程内存管理它是那块区域的,为啥栈中的变量被回收了,static为啥不变的,同时从在C语言中和C++中不同特点,如C++类中的static成员为啥需要类外初始化、C语言中如何?
这里我举列的这些八股文,想表达的是大家在看八股文的时候真的要理解系统整体的知识,回答的时候不要直接背某某作用,这样太单一片面的回答会让面试官觉得只知表面不知所以然,而是应该系统地把这个知识点来龙去脉都回答上去,这样基础问题答得好,面试官才会对你项目感兴趣。一般面试时间是有时间的,如果你能把八股文的知识答得细致一点,时间久点,那么你的简历项目相对被问的时间短。可以自己把我平衡。然后就是关于简历上的项目,有时间的准备的话一定找一两个比较难度的开源项目去实现,这样会让面试官更信服。其次,写在简历的上一定要会很熟悉。明后年秋招的学弟学妹们,可以照企业要求提前写一份简历,然后自己照简历技术点进行学习。这样会更有目标。面试万变不离其中的,是对知识的整个系统深刻理解。最好当你懂得某个知识点时,和你同门讲一次。
芯片公司介绍
简单介绍一下做芯片公司的:1.处理器芯片:GPU如外企Intel、英伟达、AMD,国产GPU,壁仞、摩尔线程、芯动科技、景嘉微等国产GPU,做CPU的有外企Intel,AMD、IBM、高通,国内CPU公司有华为、龙芯、海光、北京君正等,MCU有萨电子、恩智浦、ST、华大半导体、士兰微、复旦微电子等,DSP有外企Microchip、TI、ADI、ARM,,国内公司湖南进芯、江苏宏云、昆腾微电子、深圳创成、上海耀芯、国睿科技(中电科14所)、中电科38所、华夏芯(北京)、青岛本原微、北京中科昊芯;2.存储芯片,外企三星、海力士、美光,国内存储芯片企长江存储、长鑫存储、兆易创新、华天科技、复旦微电子等;3.传感器类芯片CMOS图像传感器、触摸传感器、微机电系统;4.电源芯片,国内外企业有:芯源系统、TI、英飞凌、东芝、瑞芯微、圣邦微电子、上海贝岭等;5.通信芯片,蓝牙芯片:高通、赛普拉斯、Dialog、ST、紫光展锐、泰凌微、乐鑫,无线芯片:高通、博通、Marvell、联发科、瑞昱、乐鑫,窄带物联网芯片,在NB-loT芯片领域有代表性的企业有:高通、华为、中兴微、联发科、紫光展锐等;6.接口芯片,东芝、ADI和全志科技、纳芯微等。以上只为大概介绍,肯定不全面,欢迎朋友们补充。
介绍这么多芯片公司的目的,想说的是计算机类专业的朋友们,可以看看芯片类的公司,不要盯着互联网大厂,大厂虽好,适合自己职业发展更为重要,不要盲目追求大厂光环,多个光明前途赛道会不会好一点。这当然只是个人一些简单想法,求轻点喷。长远地看,国产芯片替代外国芯片这一趋势不可阻挡,个人应该顺势而为。
最后个人一丢丢见解
还有一个自我介绍我的模板是:本科期间项目或竞赛+研究生项目竞赛(穿插简历上自己做的项目)+个人技术栈介绍(照搬简历上的技能点:比如熟悉Linux字符驱动、C++的新特性了解很多、多线程编程、熟悉接口协议)+个人性格爱好介绍。
最后一个是对于找后端开发很难找到合适工作的,想转嵌入式软件朋友们来说:嵌入式优点有那些:1.对学历的要求不高;2投芯片公司嵌入式软件笔试基本上没有算法题(不代表你不准备一下下)或者有的少数也不会很难;3未来发展前景不错比较于目前互联网来说,35岁被毕业的风险小,因为底层技术更新慢,越来越吃香;4技能要求低,初级的话只要你会C/C++,了解接口协议、对操作系统理解稍微深一点(具体到stm32与外设怎么通信的,stm32需要提前做哪些工作才可以通信),买块板子自己照着视频捣鼓一个月大概就知道咋回事。进阶的话就需要会Linux驱动编写;5.去芯片公司的嵌入式软件薪资待遇比互联网也不差多少哦;6对于后端开发岗位来说,嵌入式软件类的岗位暂时没有那么卷。只是个人的一点认识,不到位求轻点喷呀。缺点的话:可能想转的话没有人带,不知道咋学。