作者:ece511
链接:https://www.nowcoder.com/discuss/351612
来源:牛客网
转自:https://mp.weixin.qq.com/s/m-wBsUEi_6rQq6toxFFxwQ
本人专业电子信息工程,暑期在上海某外企做fpga相关的实习,9月开始投简历,主要找ASIC/FPGA 设计验证相关的岗。投了N家公司,挂了N个笔试,最后拿到某私募、商汤自动驾驶、百度、寒武纪和华为海思的offer。由于距离面试过去也有段时间了,面经就靠回忆+脑补了~
商汤(一共4面,全程微信语音)- FPGA自动驾驶优化验证
商汤我是7月底投的简历,岗位是FPGA自动驾驶优化验证,然后面试一共有4轮还是5轮,时间跨度比较大。
第一轮就比较基础,问的问题主要是C++和FPGA的基础知识。我印象里有问C++的引用,强制转换、static 关键字。FPGA方面的话问了非阻塞阻塞赋值,还有FPGA内部的结构(内部有哪些基本单元)。最后问了下项目,问对DNN、CNN了解多少,给一个module怎么让他的frequency跑得更快、throughput更大之类的问题。第一轮结束后一礼拜后收到第二轮面试。
第二轮面试是这个FPGA team的manager面,问的题以项目为主,然后面试体验很差。自我介绍完让我说下近期实习的项目,之后问了下看我简历有AHB 相关经历,问了下AHB的基本时序,还有arbiter怎么做的。面试过程中比较闷吧,我只能用这个词来形容了,就是毫无互动可言。这轮面试结束后,商汤HR说要安排第三轮交叉面,然后等了2-3周,总之流程走的很慢。
第三轮面试还是以简历为主,看我最近和之前有做Ethernet MAC的东西,问了下项目的细节,然后还问会不会DDR。这轮面完就很玄学了,我去问HR什么时候能给结果,然后HR一直不回消息。直到10月中旬,也就是这轮面试(八月底)过去差不多两个月,HR微信找我说要安排终面。第四轮应该是boss面或者总监面了,然后主要是聊项目,这个其实和第二轮和第三轮的面试细节很重叠了,面完最后就说会给offer。
百度(一共3面,全程微信)- 芯片验证
百度是9月底还是10月初投的简历,本来我想投芯片架构岗,但是一看下面的JD,要28nm相关的流片经历,只能说劝退了。最后投了芯片验证,base可选北京或者上海。简历投完HR就电话联系我,然后本来说安排skype面试,最后还是改用微信语音~
第一轮面试的话感觉质量很高了,这个面试官小哥问的很细然后cover的点也很多,差不多聊了有50分钟。上来先是抓着SV和UVM的基础知识问。基础知识问完,就开始问近期项目。主要是问我的一个Ethernet 项目的验证平台搭建细节,比如有问如果发过来的包有丢包或者乱序,我应该在之前的基础上怎么改来验证。
第二轮细节我有点记不太清了,不过也没什么花样,问了基础知识+简历。基础知识问了知不知道rand和randc,然后会不会constrained random verification。之后问了一个题,怎么在一个class里不用randc实现产生100个不同的数字功能(就每次instantiate这个class的时候,里面有一个member的值都不重复,直到例化了100次才会重复)。
第三轮面试是一个女主管,这个行业女性还算比较少,所以我印象很深刻。一般面到这轮都不会问基础知识了,所以全程聊项目,聊完就说前面两轮的面试官对我印象很好,然后问我对百度的看法之类的,还有之后的规划什么的。这轮结束没多久就给了offer。
寒武纪(一共3面)- 芯片验证
寒武纪是暑期实习期间投的提前批,然后莫名其妙把我从提前批调剂到普通批,之后一直等了很久。大概9月底HR电话找我说来面试。
第一轮是微信视频面试,也是一直问Systemverilog的基础知识。先问知不知道多态,然后问overload和override,再问虚函数。之后说base handler 指向一个 子类实体行不行,反过来行不行,如果不行该怎么操作。这个其实只要看下SV的虚函数和dynamic cast就答得上来。
第二轮是电面,先是问项目,这个和之前所有面试都差不多,所以说对简历上每一个项目还是要比较熟的。之后给了一个时序,两个信号,一个信号来了之后,之后那个信号隔多少个cycle(这个数字我记不太清)会被置位,问你怎么验证。这个我说SVA很好处理这种问题,他后面就问应该把assertion放在验证平台的哪部分,然后interface为什么要声明成virtual的。
第三轮是HR面,问的题很憨憨,就是问学习习惯,本科和研究生学习过程有什么不同,在公司碰到问题怎么解决之类的。总之就是这种很匪夷所思的behavioral question。面完没多久就给了offer。
华为海思(一共3面)- 芯片
战狼的面试我印象海思很深刻的,我从投简历到拿到面试也等了很久,大概是大家都拿到offer后我才开始面试的,9月底左右吧。
第一轮是做个笔试,印象中好像全是选择题,没什么难度,都是基础题。做完笔试后还要做个性格测评,不要乱选就能过。笔试结束后很快就有通知面试,华为全程是用wemeeting这个平台,和zoom长得很像的一个软件。第一轮面试我印象还是很深刻的,一个看起来很年轻的小哥,头上有肉眼可见的白发。问了一些computer architecture的基础知识,比如为什么经典CPU用5级流水线,里面有什么类型的hazard,怎么解决的。之后问了setup time和hold time还有CDC,这两个我不想吐槽了,基本上每个公司都问,太憨憨了。之后说是今年华为面试改版了什么的,要增加笔试,两个题说是二选一,第一个是用基础门电路搭建一个64bit full adder,然后后续还有改怎么优化。第二个题是用verilog 写一个round robin arbiter,也是很基础的题。我最后嫌写代码麻烦就给他搭了一个full adder。
第二轮面试等了差不多2周吧,是海思昇腾芯片的一个manager面的,气场很足。上来先是要我自我介绍,然后问对处理器的memory和cache了解多少。之后问了下memory hierarcy和cache coherence。出了一个题,就是两个processor每个各有一个cache,然后有一串读写操作,问你根据MESI,每个cache的state。之后笔试要我写了个二分频代码,并画电路,这个没什么好说,太基础了。
第三轮应该也是大领导,上来聊简历,聊完就问一些BQ。先是问为什么要来海思,还有说外界说华为加班很严重,你怎么看。这个没什么好说的,瞎比扯就行了。
第三轮面试结束后,等了很久,一直在录用排序,最后没有任何通知莫名其妙发了个offer到邮箱。过了4天左右才有HR来联系我,问我签约不签约的事。
整个秋招主要就这些面试,基本上是有给面试的都有offer。除了上面说的以外,我还投了比特大陆,思科,AMD,NV之类的公司,但是他们笔试太诡异了,就是芯片从前端的一直问到后端,我只能说我知识储备有限,做不来好吧。总结下就是,这个行业工资虽然不如CS,但是这几年靠着特朗普的助攻和国家的扶持,还是不错了,我说的这些公司大体上都能开到28W-35W之间的薪酬 。
欢迎大家来转EE(ASIC/FPGA),一起当硅农。
推荐阅读
想了解更多技术干货,欢迎关注数字芯片实验室专栏,专注提高知识技能和竞争力。