首页 > 【面试准备】FPGA开发/数字IC设计工程师如何准备面试?
头像
校招硬件大牛
编辑于 2021-08-04 12:04
+ 关注

【面试准备】FPGA开发/数字IC设计工程师如何准备面试?

牛客 校招研究院出品,专题特约作者:@四不像wjj

该帖主要结合本人去年找工作经历,简单聊聊面试方面的一些情况,大家可当段子一般看看。

一、 面试知识准备

1.1 岗位专业知识准备

对于技术面,主要还是考察你的专业知识掌握的扎不扎实,以及你是不是足够熟悉自己的项目,这两部分在面试前自己是需要好好准备的。

【准备思路】:
在面试前,对着自己的简历,把所有觉得面试官可能感兴趣的问题都列出来,然后思考如何清晰的回答相应问题,这样有助于理清思路,也可以帮助自己提前对面试状态的一个把控。

【岗位专业知识】:
以我个人为例,我主要做的通信系统方面的FPGA处理过程,我知道vivo当时是不涉及这方面的(最近看他们的提前批岗位,好像有通信方面的岗位了),所以他们会更多的对我设计过程中涉及到的算法、通用接口协议(UART、SPI等)以及FPGA结构以及资源占用方面更加感兴趣,所以在vivo面试前,我着重准备了这些方面以及一些专业基础知识(这方面我在求职准备专题里面分类介绍了)。

但是在华为以及中兴面试前,尤其是华为,我投的是无线逻辑部门,那他们肯定会更加倾向问一些通信方面的专业知识,所以我会着重对这方面进行复习。

1.2 通用知识准备

在面试前,首先要结合自身情况,准备一份自我介绍,自我介绍中尽量较为全面的概括自身情况,突出自己的优点,如果是外企的话,可能还需要准备一份英文的自我介绍。

我的自我介绍准备的比较随意,所以在此就不献丑了,大家可以在网上找找看看大佬们的自我介绍是如何准备的。

另外,我觉得自我介绍不用过于纠结,面试官不会因为你的自我介绍不够亮眼就觉得你不够优秀,主要还是看后续的面试交流。

二、面试流程

2.1 面试流程

对于技术岗,面试的一般流程为:第一轮技术面-----第二轮技术面-----HR面。一般公司都是有2轮技术面的,当然也存在部分公司只有一轮技术面,比如:
【Vivo】:提前批就只有一轮技术面
【汇顶科技】:面试形式为一轮技术面+一轮主管面。主管面会涉及到技术相关问题,但不是纯技术。

2.2 技术面形式

技术面的形式也不完全统一,有的公司是一对一,有的公司是多个面试官,以个人经历为例:
【中兴提前批】:三面一
【新思科技】:多对一。
【汇顶科技提前批】:技术面和主管面均为二面一

三、面试技巧

3.1 技术面技巧

如果面试中遇到自己一下子没有思路回答的题目,不用过于慌张,可以尝试着说出一些分析的思路,不要担心是错的,说出来总比不说要好,或者让面试官稍微提示一下,我觉得面试官人都挺好的,不需要过于害怕他们。

在vivo的技术面的时候,被问到:
“在ASIC设计中,如何保证RTL级设计与网表对应?”

当时是有点懵的,因为我主要是做的FPGA实现,与ASIC设计还是有一点差别的,但是在面试官的提示下,再加上在之前的笔试中遇到过相关类似的问题,我查阅过一些资料,最后勉强算是回忆起来。

在oppo第二轮技术面的时候,面试官也提到了FPGA与ASIC设计的差异:大概的意思是我做的主要还是FPGA相关设计,和他们公司的芯片设计还是存在一定的区别。”

被这么说,还是有点难受的,但还是想争取一下,所以赶快诡辩了一波:“首先,FPGA设计和数字芯片设计可能是存在一定的差别,当时数字芯片的前端设计和FPGA设计流程都是差不多的,据我了解,有些同时招聘FPGA开发工程师/数字IC设计工程师的公司,这两个岗位之间的人才也都是互相流通的;其次,这两个岗位对于技术者的知识储备水平也是差不多的,数字芯片设计岗位要求的一些专业知识,我也是有提前进行了解和学习的”。可能是面试官看到我如此虔诚,最后面试稀里糊涂的通过了。

3.2 HR面经典问题及解析

对于HR面,一些经典的问题,大家需要提前准备一下。
1)在项目中遇到的最大的困难,以及如何解决。
这方面主要是想了解项目是不是你自己亲自做的,以及发现问题和解决问题的能力。

2)有没有和别人合作的项目,你承担什么角色,怎么进行项目间沟通。(这个主要考察团队合作能力)

3)个人的优缺点,从他人的角度评价一下自己
缺点:最好想想一些无伤大雅的缺点,不要和招聘岗位的要求冲突。
优点:优点的表述,最好能结合实际例子进行说明。

4)工作地点,薪资期望,有没有谈朋友
主要是考量因为工作地点,男女朋友关系,最终去该公司的可能性有多大

有些公司可能还会问你了不了解他们公司的产品,这个可以直接去公司官网看看最新推出的产品即可。

汇顶的主管面,问的一些问题我都很难受:
首先让谈谈中美关系(真的不怎么了解时事),

还问了本专业的学习上兴趣爱好在哪一方面(把专业当兴趣学的能有几人)。


四、 常见面试题解析

1)来道典型题,这个电路图的处理过程是否正确?

图片说明
【考察公司】 Synopsys
【难度等级】 中
【考察知识点】跨时钟域的处理能力。
【参考答案】
首先,跨时钟域过程中,从clk1到clk2,是不能够直接将clk1时钟域下的组合逻辑信号直接送往clk2,需要在clk1时钟下寄存一拍。
其次还需要考虑时钟域快慢的处理。
最简单的情况,从慢时钟域到快时钟域,clk1为慢时钟域,clk2为快时钟域:
在clk1时钟下寄存一拍的信号后,加上两级触发器链就可以了,主要是抑制亚稳态的传播。

图片说明

复杂一点,从快时钟域到慢时钟域,clk1为快时钟域,clk2为慢时钟域:
此时,不仅需要添加触发器链抑制亚稳态的传播,还要防止慢时钟域采不到快时钟域的数据,需要使用反馈/握手电路。(下图出处IC_learner)

图片说明


2)比较简单的基础题,算FIFO深度:

突发长度burst length = 80;写时钟fwr = 40MHz,读时钟frd = 30MHz,计算FIFO深度。


【考察公司】 Synopsys
【难度等级】 简单
【考察知识点】FIFO深度计算。
【参考思路】

(a) 算出写时钟周期和读时钟周期

(b) 一次性写突发数据个数(Burst Length)需要多久?相同时间下,读了多少数据?

(c) Burst length 减去读出的数据,得到FIFO的最小深度。

【参考答案】

(a) 写时钟fwr = 40MHz,Twr = 25ns;读时钟frd = 30MHz,Trd = 100/3ns;

(b) Burst Length = 80,写入80个数据耗时:80*25ns = 2000ns;

相同时间下,读出数据:2000/(100/3ns)= 60

(c) 最小FIFO深度:80 – 60 = 20

还有上述FIFO深度计算的变型题可按此思路进行计算,网上查查,这种类型的题目很多。

五、面试注意事项

首先,每轮面试都会有反问的环节,面试官会问你,你有没有什么想问的。这个建议还是提前思考一下,因为除非你真的有感兴趣想问的,否则突然一下子让你问个问题,还真的问不出来,然后气氛会有点小尴尬。

其次,我觉得面试是一个双方互选的过程,面试的时候尽量展现出自己的能力就好了,不要被面试的结果影响自己的心态。面试过了自然好,如若没过的话,可以好好总结一下,面试中存在的一些问题,然后在后面的面试中加以改进就好了。

现在已经有公司开展提前批工作了,大家可以开始准备准备网申了,加油!!


关注 @校招硬件大牛 大牛 ,跟大家聊聊硬件校招那些事儿鸭~
想成为专题作者,欢迎私信哟!

更多模拟面试

全部评论

(1) 回帖
加载中...
话题 回帖