时间:2024-08-10 来源:网络搜集 关于我们 0
我是985本+水硕,有嵌入式软件背景,算是专业相关的半个科班吧,投IC岗位也是转行选手。手上只有相关比赛的2个分区赛三等奖,1个形式化验证开源项目,自我感觉技术能力在同学中算摆底的。
无实习,无论文,无正儿八经大项目的“三无废物”。
今年秋招我投递了提前批,在2022年哀鸿遍野的秋招大环境下,为了求稳,投了很多方向:数字IC设计、数字IC验证、FPGA原型验证、FPGA开发,甚至还投递了老本行嵌入式软件。因为知道自己是转行的,竞争大厂可能没有优势,再加上个人比较反感加班文化,于是就投递了一些不用加班的中小厂。
结果还算圆满,上述每个方向都拿到了薪资不错的offer,算是给秋招画上了完美的句号。
秋招时间线:找准节奏“女娲补天”
初转行阶段:准确的说,我是从今年3月份开始第一次真正接触这一行的,第一个相关的项目是今年的集创赛。尽管去年暑假在HDLbits上刷过verilog题目,但是这次集创赛才是我第一次真正自己写verilog。3月初到5月底,完成了这个比赛项目,带着这个项目开始秋招提前批。
投递阶段:在7-8月的时候是最焦虑的时候,那会很多中小公司开始了第一批的招聘报名与笔试面试,大家简历很多都石沉大海,再以及各种消息消息满天飞,比如“10HC收到500份简历”之类的,偶尔有朋友说自己进了面试、拿了意向书,而自己啥也没有,就更慌了。
当时我感觉自己没有准备好,因此投递提前批的目的是“学习”。“没准备好”主要体现在两个方面:1,除了比赛那个项目,简历上的其他几个项目基本都没做完,甚至有的项目进度仅仅是新建了个文件夹;2,压根没准备笔试知识点,尽管去年间歇性的看了看一些课程,但是依然没有梳理脉络,对有些专业名词仅仅停留在“听过”环节。不过我知道自己是抱着“刷题”的目的来投递的,于是在那段时间疯狂搜集笔试题、跟同学交流面试细节,在专业知识点上“女娲补天”;与此同时,紧锣密鼓的尽可能完善自己简历里面提到的项目。(很认同当时知乎看到的别人说的一句话,意思是老老实实按照自己的节奏准备,不要把时间浪费在没有意义的焦虑上)
整个7月8月,都是这种一边刷题学习,一边完善项目一边笔试面试的节奏下度过的。
收尾阶段:8月下旬到9月初的时候,之前笔试面试的公司陆续有了反馈,也拿到了想去的公司的意向,至此,秋招提前批结束了。因为拿到的第一个意向就是当时最想去的公司,所以拿到意向的那一刻,就停止了投递,后续时间就只把之前投递了的流程走完。
接下来是文章的重点,我的【面试问题及感受】,我将我印象深刻的几家公司的面试过程尽可能多的真实的还原给大家。
面经:凭记忆纪实性回顾
✔ NIO 蔚来 提前批,数字IC设计(一面挂)
面得比较久了,问题记得不是很清楚了,体验不是很好,只记得两个贼尴尬的问题:
1)我简历写的是AMBA3协议,问我AMBA4协议新增部分的特点(我TM哪知道啊)
2)arm cortex m0 跟m3 面积差多少(我TM哪知道啊)
嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。
点击这里找小助理0元领取:加微信领取资料
✔ 安路科技提前批,FPGA岗位(已拒)
这家公司我其实是比较看好的,招聘流程是目前体验最舒服的一家。虽然市场份额跟赛灵思还有一些差距,但是我觉得未来可期,布局类似Xilinx的PL+PS感觉很有前景。
1)APB跟AHB相比有哪些特点
2)说一说Linux分页
3)微处理器的中断,软硬件层面上发生了什么
4)说一说竞争冒险亚稳态跨时钟,工程上如何做
5)任意选一款RTOS说说任务调度方案
6)CPU分支预测怎么实现
7)说一说对cache的理解,怎么实现
8)软件上的原子操作怎么体现在CPU上
9)JTAG原理(问的时候还没接触过DFT,所以当时没回答上来)
这个就是我前文说的秋招环节最想去的公司,但是开奖太晚了,签了别的公司了,因此拒掉了。
✔ 卓胜微提前批,嵌入式软件岗位(SDK方向)(已拒)
**一面**
很尴尬,面试的时候一直冷场
1)中断发生了什么
2)我用到的蓝牙芯片FOTA策略
3)wifi自动配网策略(我不懂,面试官跟我科普了一下这个)
4)双分区FOTA策略
5)教研室工作强度怎么样,读研有什么收获
**HR面**
1)个人情况
2)对公司有什么想了解的
3)秋招情况,面了多少家,开多少之类的
**主管面**
基本就是聊天,没有问八股没有问项目。介绍了一下软件组的四个方向,说了一下对候选人的期望。主管貌似对我比较满意,夸了一下我,挺不好意思的哈哈哈哈~
开奖跟IC没得比,据说加班凶,拒了。
✔ 芯原微电子,成都,FPGA原型验证(已拒)
本来投的数字IC岗位,为了不跟各位大佬卷,宣讲会报名笔试当天临时改了FPGA岗位。
**一面**
就照着简历问了一下,基本没问八股,但是问了:
1)项目中FPGA里面PLL出来的那几个时钟怎么处理的
2)项目中时序约束怎么做的,对哪些做了哪样的约束,遇到的违例具体怎么处理的
3)建立保持时间违例怎么处理,插入寄存器多打一拍会不会造成其他影响,为什么保持时间要插delay
面试官询问之后,一直说我项目里面的不足然后就结束了。
**二面**
终于完成二面了。技术面(据说面试官是FPGA部门副总裁)但是没问技术没问项目,全程引导我往top level思考,比如项目更重要的是注意spec.,比如有全局思想,项目立项出发点之类的。可能是我缺乏“倾听”的技能,亦或是我急于表述,再亦或是面试太多了思维定势了,就导致我每次都着急往技术细节上回答,面试官一直耐心的引导~~~本来15min的二面聊到了35min
**hr面**
就常规问题,家哪里的,女朋友哪里的,薪资要求之类的。
✔小米,数字IC设计-多媒体方向,提前批(二面等待中)
**一面**
由于面试官说了面试细节不能透露,所以就说说面试体验吧:
面试官态度很nice,交流起来很舒服。对着我的简历问,会深抓项目/设计的细节,回答不上来的他会解答结果并告知这种设计的原因。
有不少问题都没回答上来是被面试官告诉答案的,so,自我感觉可能是凉了,但是这次面试聊天学到不少东西,收获还是很多的。
**二面**
面试官聊天氛围比较好,但是问的问题都很犀利,面试后跟我说我没有综合、时序约束经验,让我接下来时间有机会还是参与一下正儿八经项目,走完IC design flow。
1)ahb-lite ready in ,ready out干啥用的(没听过,没回答上来)
2)学过微机原理?说一说arm a53-a72系列特点(不会A系列,只学过m系列,于是说了m系列)
3)说说m系列有哪些寄存器
4)有什么问我们的吗
✔ 绵阳9院,嵌入式岗位 (已放弃)
学校bbs一个学长发的科室招聘帖子,据学长说他们科室就1个名额。
这个面试时间比较久了,我没记错的话是1V(5+1)面,那个“1”是主持人,那个“5”凭面试的时候的感觉应该是他们科室的所有领导了吧。(不愧是研究所,面试还搞个主持人来主持面试流程)。
流程类似比赛答辩,7分钟讲ppt,然后就答辩。ppt是很早之前就让我自己选项目,可能我选的项目重心聚焦在rtl设计了,不是很符合他们对“嵌入式软件”主题的期望,所以“答辩”环节被疯狂问这个项目中任何跟软件相关的设计,还现场看软件部分的代码,问我有的代码为什么没写注释、某段代码干啥用的、软件分层是怎么做的;涉及到八股的就问了临界值,中断等等,可能面试官们想深挖一下这个项目里涉及到的软件部分的工作吧。
事后分析,感觉自己这个项目选的的确不好。就以spi通信为例,本想着 “嵌入式软件只在乎配置mcu上的软硬件资源在gpio口实现spi通信协议,但是我这个项目不仅有使用spi资源这一块,我还自己写了spi-master,我还挂载在ahb总线上,我还写了硬件架构对应的软件驱动以及业务层逻辑” 然后营造一种 “我是个懂底层的嵌入式软件开发者”,结果这么看起来,是在是画蛇添足了。
走的社招流程,跟我说面试还不错(不知道是不是客套话),但是要再投一次校招走校招流程,后来我打算放弃,就没投递了。
✔ 国微**(已拒)
只有一次技术面。HR面就问了一下加班态度之类的。
1)是否有时序约束经验
2)FPGA保持时间违例可能的原因
3)ASIC跟FPGA设计不同点
4)FPGA项目资源占用多少,主频多少,有没有遇见过FPGA布线拥塞,怎么处理
5)是否做过跨时钟设计,什么情况打两拍,什么情况用FIFO
6)是否设计过FIFO,设计中的关键点是哪些
7)serdes工作流程,设计的关键点有哪些
8)开发环境主要是Windows还是 Linux
薪资开的蛮高的,但是经过打听要加班,个人不喜欢那个氛围,拒了。
✔ 其他公司问到的一些
1)问了一些openmips指令集相关的特性,五个阶段分别做了什么任务,如果要做分支预测怎么做,load/store如何处理的,设计怎么仿真的,怎么部署到FPGA的,有没有接触过risc-v,为什么不亲自写risc-v。(简历写了5级流水openmips release1,并且卡着时间写完了这个,所以面试都回答上来了)
2)如何保证UART收发器不会误码(当时不懂想问啥,后来才知道就是想问一些采样率设计来保证clk偏斜等不理想的时候正常工作)
3)问了一下综合的流程,以及看时序报告,分析时序报告。(很遗憾,我还没有搞过这个,没吃过猪肉,仅仅见过猪跑,所以没回答上来,很减分。转行的大伙有机会的一定要亲自跑一跑综合以及STA)
4)问一些验证的东西。只不过我没接触过验证,所以没回答上来,现在也不记得问什么了。(造化弄人啊,现在签的岗位就是验证,但是我还是没去学验证)
从上面这些公司的问题关注点可以看到,跨时钟域、手撕FIFO、静态时序分析以及一些AMBA协议是面试官比较容易问的,嵌入式角度问的可能就是一些“底软”相关的,比如从芯片启动到执行到C代码,C编程的一些细节之类的。当然具体的问法还是跟简历上写的项目有关,但是知识点大差不差是这些。
书籍分享:值得读的几本专业好书
站在数字IC与嵌入式结合的角度,分享几本我觉得还不错的书吧~
《ARM Cortex-M0全可编程SoC原理及实现》:软硬协同方面的优质书籍
照着这本书,基于Arm Cortex-m0 IP核,完成SoC搭建、AHB-Lite总线上的从机挂载,并基于软硬协同设计,设计软件代码完成外设调用,非常适合新手入门。后期还可以自己设计AHB转APB桥,添加总线矩阵之类的功能。
《程序员的自我修养-链接、装载与库》:嵌入式软件开发神书
这是一本经典书籍,主要讲的内容就是副标题说的“链接、装载与库”。我是自学嵌入式软件开发的,先从应用层开发做起,逐步逐步接触RTOS、gcc这些“底层”的东西(这里加个引号,是因为要是真的想从事嵌入式软件开发,这些东西都是基本功,不能算底层,都得好好学一下)。
说实话感觉这本书不是很适合刚自学单片机的小伙伴看,做一段时间应用层开发之后再看会有奇效。
《硬件架构的艺术》:不知道这本书性质这算不算硬件设计方法学
这本书是同学推荐给我的,在我按照《ARM Cortex-M0全可编程SoC原理及实现》写了几个小项目之后,开始去思考怎么让自己的RTL代码更“好”。这个时候看这本书就比较合适了,它会站在比较贴近工程的角度,联系理论说一说亚稳态、时钟、复位、多时钟、低功耗等方面内容。(插一句:这本书排版我很喜欢,非常方便做笔记)
《自己动手写CPU》
这本书名字起的非常清晰,就是自己动手写CPU,verilog语言,写openmips release1五级流水 CPU,虽然这个是计算机学院本科生的大作业,但是作为转行的研究生,尤其是项目中会涉及到SoC的,还是可以照着写一遍的。ps:在gitee上看到有人用SpinalHDL重写了一份,很强:ZLXT/SpinalHDL
这本书貌似绝版了,我是从图书馆借的纸质书,但是好消息是京东读书校园版还可以免费看(貌似京东读书校园版新注册用户需要教育网ip做认证才能用)。
复盘:求职过程反思
心态上,其实这个“总结”基本所有经历过秋招的人都会给一个类似的答案,就是稳住心态,不要盲目焦虑,按照自己的节奏准备。
简历准备上,就按照自己实际项目写,千万不要夸大,要不然一问三不知很扣分。另外,按照我的风格,我不太认同追求1页纸简历,按照读起来不累眼的排版,大大方方的描述清楚个人情况、项目情况就挺好的呀,反正我的简历写了三页。对了,咱们是专业技能方向,所以我把不涉密项目放在git上,然后简历上贴对应项目的仓库链接。
在面试过程中,按照我个人的风格,就是坦诚+不卑不亢,坦诚的意思就是实事求是,项目中自己会的就是会的,不会的就是不会的;团队性任务的话,肯定队友的付出,不夸大自己在团队中的作用。不卑不亢的意思就是问到自己会的,自顶向下的介绍项目的背景与目的,自己如何设计的架构,如何完善的细节;如果问到不会的,大胆的说不会,然后站在工程角度分析一下为什么别人这么处理。一般来说自己分析完不会的点,面试官会告知结果与他的答案,所以这个过程也是很好的学习机会。
原文链接:
https://mp.weixin.qq.com/s/kN51GUwz-nleO-4ibTA50Q转载自:达尔闻说
原文链接:三无废物把投递的offer拿了个遍?求职还是有技巧的
本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。