数字IC设计/验证秋招小结

本来早就应该写了,拖延症害死人。所幸今天开始动笔了。我的秋招严格意义上来讲是从8初开始。那个时候我面了第一家公司,寒武纪。一直持续到10月15与华为签订完三方协议才算结束。一共拿到了寒武纪,汇顶,海康威视,比特大陆,高通,英伟达,ARM,华为一共8个offer。都是数字芯片设计/验证岗位。最终选择华为是出于职业发展和个人情节两方面的考虑。这是我秋招整体一个情况。废话不多说,下面我介绍一下自己笔试面试的一些心得体会

面试经验

根据我面试的情况。无论中国企业还是外企。实际上他们在面试中主要就考察两个方面,第一是项目经历,第二是基础知识。

项目经历

对于项目经历的话,根据考察方式的不同大概有两种面试官。第一种会让你上来自己介绍项目,这种占多数。如果是这种面试官,那么恭喜你。一定要好好把握机会,全面系统的介绍自己的项目。首先介绍项目背景,项目结构,人员分工,最终实现效果等大的方面一直到项目中的难点,项目中的亮点,遇到了哪些典型的问题,以及是如何解决的等细节,越细越好。在谈细节的时候最好将细节与你准备的基础知识联系起来。比如我向面试官提到做的项目中遇到了频率上不去的问题。然后我接着提到我的解决方法是采用划分时钟域的方法。降低非重要模块时钟频率,然后提高计算密集模块的时钟频率。达到提升计算频率的目的。这里引出了多时钟域的概念,那么我就会顺便带出跨时钟域问题通常是如何处理的。(其实就算你不主动提到,面试官听到这里也会向你提问跨时钟域是如何处理的,不过如果是自己主动说出来,面试官对你的感觉会不会又不一样呢)。为什么要说的如此详细呢。因为你说的越详细,他对你的项目就越了解。那么他对项目可问的东西就越多,基础知识点就问的越少。我想,只要这个项目确确实实是我们自己做出来的,面试官问项目问的越多。实际上对我们自己而言是越有利的。而且也会给面试官留下项目实践经验丰富的印象。如果项目上的东西问的少,那么面试官可能会考察很多基础知识点。这就比较零散了。第二种面试官是不给你介绍项目的机会(这种比较少),他会上来就抓着你的项目来问他比较感兴趣的地方。有时候他会忽略掉我们做的比较用心的项目,反而问一些我们下的功夫没那么多的项目。这个时候就需要我们见招拆招了。如果有机会一定要把话题往你觉得是项目亮点的方向去引导,掌握说话的主动权。一旦获得了说话的主动权就可以参照第一种介绍项目的方式。另外在外企的面试中会加入英语考核的环节。主要以与面试官进行英文对话的形式为主。对话内容可以是让你简要介绍项目,也可以是问一些生活中的问题。比如我就被问过,你读书的城市最有名的地方是哪?有哪些特色小吃?等等。

基础知识

对于基础知识,其实数字IC的基础知识还算比较集中,无外乎亚稳态,时钟,复位,跨异步设计,低功耗设计等几个方面的知识。。这里我推荐一本书《硬件架构的艺术》。这本书几乎涵盖了所有常常考察的基本知识点。只要将这本书反复读个几遍。面试官考察基本知识点都不在话下。需要特别提出的是,对于设计岗基本上所有的考官都会考察些许验证的知识。主要以systemverilog的语法为主。常常考的语法是fork 语句的三种形式各有什么特点。然后是验证平台的几个基本组成部分,还有就是SV面向对象的3个基本特征(封装,继承,多态)的含义。我建议把《systemverilog验证——验证平台编写指南》(绿皮书)学习一下。并且推荐看完以后将绿皮书中第11章的源码下载下来(源码下载地址在作者的前言中已经给出 )。自己使用仿真器跑跑看看。跑完源码后可以参照绿皮书中推荐的方法搭建一个验证平台验证一下自己之前做过的项目。这样我们就会对验证方法学有一个切身的体会(和普通的仿真有很大差别)。

笔试经验

至于笔试经验,讲起来都是一把辛酸泪,秋招开始前我以为将上面那些SV和数字IC中常常考察的知识点掌握的差不多就万事大吉了。结果我做的第一场华为的笔试就给了我一个下马威。华为的笔试题形式简单。全部都是选择题,单选多选都有。然后坑爹的是,它考察了很多IC设计流程的知识。比如前仿真后仿真的区别,可测性设计(DFT)的知识。另外他还会考察IC设计软件的知识。我就遇到了考察DC, formality,VCS 软件使用的考题。想想我一个研究生只用过VIVADO的学生。做这些题目真是欲哭无泪呀。只能靠蒙。还好华为爸爸给了我面试的机会。当我觉得华为的笔试已经够出乎意料之时。大疆的笔试再次教我做人。除开基础知识,还有各种智力题,C语言编程题,脚本语言编程题。还会考察很多计算机组成原理的东西。比如中断,指令集等等等等。我晕。这次就没那么好运了。笔试挂。后面英伟达的笔试题也让我印象深刻,8个大题,编程题为主。从C语言到脚本语言再到verilog最后是SV全部考察。编程题为主(脚本语言编程题是不限语言种类的,Tcl,perl,python等都可以)。好在最后有幸通过了。所以在我看来,笔试考察的范围要比面试广的多。所以如果想完成一份优秀的笔试答卷,还是要好好准备的。数字IC基础知识,硬件描述语言需要精通,验证方法学需要熟悉,计算机组成原理,C语言编程,脚本语言编程需要涉猎,能够写出简单的程序最好。

好啦这就是我的一些粗浅的秋招心得体会啦。没有经验也有教训。希望能对大家有一点帮助。

你可能感兴趣的:(数字IC设计/验证秋招小结)