FPGA工程师求职经验分享--如何通过笔试介绍
以下内容来源牛客特邀专刊《FPGA工程师求职经验分享》,作者@玉米人
笔试包含测评与技术笔试,接下来我会分别介绍这两个部分:
1.测评
测评能够让企业先做一个最初步的筛选,有许多企业在你投递简历的同时就直接向你发送测评链接。一方面,测评能够确认投递者是否真的有意愿参加企业的招聘;另一方面,测评能够测试出被测者在性格上、智商上是否满足企业的最基本要求。可以说是企业对招聘成本的一种控制手段。
测评的内容主要可以分成两个部分:行测和性格测试,有些企业在测评中可能只考性格测试,有些则会两个都考,但性格测试可以说是测评中必考的部分。
行测主要是一些简单的智商题,比如说找规律、看图说话、简单的计算题、看材料总结主题之类的。个人认为难度不大,可以去牛客网找行测题去刷,每天找一个固定的时间段进行,然后多多总结。
性格测试顾名思义就是测试你的性格是否合适该岗位,一般来说只要不是太极端,按照实际情况填就好了,也可以酌情填得稍微积极一点。不要为了通过性格测试违心地去选一些和实际情况完全不符合的选项,主要有两个方面的原因:
一方面,有些性格测试会在前后放些一样的题目,如果你是违心地选,有可能会前后不一致,这种情况很容易会挂;
另一方面,即使你最终通过了所有流程拿到了offer,如果你的性格与企业的文化格格不入,难受的是你自己。
需要注意的是,有时候可能是为了保证效果,有些企业在测评的时候喜欢对每道题做单独的时间限制,比如说一道题六十秒,时间到了就自动提交,然后跳到下一题,最好提前了解一下做好心理准备,以免到时候手忙脚乱。
2. 技术笔试
虽然不是所有的企业在招聘FPGA岗时都会设置技术笔试,但技术笔试考察的内容肯定是一道绕不开的坎。对企业来说,技术笔试能够初步考察你的专业技术水平能否胜任你投递的岗位,与相对轻松的测评不同,技术笔试是真正意义的筛选型考试,在这里会倒下相当多一批的同学。想要提高笔试的通过率,必须做好充分的准备。
技术笔试的考察形式
从考察形式来看,技术笔试一般会分为客观题和主观题:客观题一般就是单选、多选、判断;主观题的题型则会丰富一些,包括但不限于问答题、代码题、作图题。
客观题的题型比较常规,客观题考察的内容会放到下面再讲,这里不针对客观题的题型本身再进行展开。下面介绍一下主观题:
问答题
问答题一般考察你对某些概念的了解程度,有一些问答题会直接要求你解释概念,举例来说:“请解释什么是建立时间,什么是保持时间“。还有些问答题会类似政治题,让你列举方法,并给出你的看法,比如说”请列举FPGA设计中使用到的低功耗设计方法,并且比较它们之间的特点“。
代码题
代码题是对代码能力的直接考察,可能会给你一段不完整的代码让你按要求补完整,当然更多的是给你具体的需求,要你直接写出代码。代码题最常考的几种模块:计数器、分频器、FIFO、序列检测器等,举例来说:“请你设计一个异步复位的计数器,计数大小为10“。我的建议是可以自己设定参数,或者找些真题,把几种常考模块的代码都完整地写几遍,尽量控制花在代码题上的时间。
画图题
画图则是一种对综合能力的考察,一般比较常见的是画波形和画设计框图。
画波形的题目可以分为两种,一种是给定输入波形和电路图,要求画出输出的波形,这种题考察的是数电基础,在数电的教材上也有;另一种是给定代码和初始状态,要求把指定时间内的状态变化给画出来,这种题则更多的考察hdl基础。
画设计框图,这部分考察的范围可能就没那么确定了,难度也会比较大,我记得大疆的笔试就是要设计一个示波器,要求包括采集、显示、设置等功能,画出示波器的结构框图,并且给出每个部分的说明。遇上这种题一方面要看你的知识积累,另一方面也要看临场发挥,我的建议是如果没有思路就先跳过,不要耗费太多时间。
技术笔试的考查内容
从考察内容来看,技术笔试考察的内容大概可以概括为以下几种:数电基础、hdl与硬件基础、FPGA设计技巧、其他知识。下面分别介绍具体考察的内容以及针对这些内容的准备方法:
数电基础
数电基础的题目主要出现在客观题,主观题也会有,比如说前面说的画波形的题目。考察数电基础的题目一般和数电课本的课后习题类似,会考察一些基本概念,比如说竞争与冒险出现的原因,当然也会有对知识应用的考察,比如说进制转换、二进制计算、逻辑化简、卡诺图化简、电路分析等等。
这部分的题目难度不高,如果数电基础扎实的话,一般很快就能得到正确答案,如果需要刷题,可以在数电的课后习题里面找题目来做,在FPGA岗的真题里面基本上也都会有。
hdl与硬件基础知识
hdl与硬件基础方面的题目同样也主要出现在客观题,硬件基础知识实际上也算是数电基础中的一部分,比如说ROM是什么?RAM是什么?CPU是什么?
考察hdl与硬件基础的题目一般来说会有语法题,比如说“!, &, ^, |, &&这几个运算符的优先度由高到低要怎么排?“,也会考概念题,比如说” ROM中的内容,当电源断掉后又接通,存储器中的内容会如何变化?“
对于语法题,一般来说如果你平时有在写verilog hdl,不会有太大问题,不过有时候可能会考察到一些用得比较少的语法(比如说fork和join),这就需要你在刷题的时候做好错题记录。
硬件基础题考察的题目虽然简单,但是知识点相对零散,不太好系统地复习,我个人建议是做好错题整理。
基础类的题目要求是准确率高,耗时短,因此还是需要一定的训练量。考虑到FPGA岗的真题可能没有软件方向的那么好找(我会在后面说说怎么找,另外我也会提供一些真题),因此每一份真题都需要认真对待,整理好错题。
FPGA设计技巧
技术笔试中一般以概念题的形式来考察FPGA设计技巧的相关知识,而且既会出现在客观题中,比如说“以下选项中哪一个不是低功耗设计方法?“,也会出现在主观题中,比如说”请列举跨时钟同步的方法,并比较其特点“。
这部分的准备一方面要照着技能树来打好基础,另一方面也要在做题中完善自己对这些方面的知识。由于考的东西来来去去就是技能树上的那些,最好能看到这种题就直接信手拈来,在笔试中不要在这种题花太多时间。
其他知识
有一些企业会在题库里放一些零散的其他的知识,像是模电类的知识,比如“稳压管在稳压状态下,PN结处于什么样的状态?“,又或者说是信号与系统的知识,比如” 若系统的起始状态为0,在x(t)的激励下,所得的响应为?“。这种题目一般以客观题、概念题的形式零零星星地出现,通常考得很浅。由于这种题占的分数不多,不建议专门去刷模电、信号与系统之类的题目,性价比太低,不过刷题遇到了不会可以记录下来。
寻找技术笔试的真题
刷题是最直接、最有效的准备笔试的方式,但FPGA岗的真题相比软件开发岗或者算法岗的真题来说,不太好找。我这里推荐几个途径:
一是在牛客网上有FPGA岗的题目,也有一些企业的真题,这些题目都有答案,建议都可以做一遍;
二是在博客上面找,像CSDN这样的博客上能找到不少的真题,而且一般都会有解析;
三是在微信上找,这种方法你可能之前没想到过,实际上直接在微信上搜FPGA岗笔试/数字IC岗笔试,是能搜到不少东西的。
3. 笔试的技巧
接下来说说笔试的答题技巧,实际上和考试的技巧差不多,如果可以的话,先过一下整个卷子看看题量,然后安排好时间,当然有一部分的笔试中,做完每个部分都必须提交且不能再修改,这种情况下可能得根据实际情况安排时间(因为一般也会给每个部分有几道题这样的信息)。遇到不会的题不要死磕,先跳过回头有时间再看,到了实在要提交的时候,那就蒙一个然后交上去。
笔试的注意事项一般都会写在笔试的通知邮件里,或者在笔试开始前的页面上,目前我遇到的技术笔试(评测一般不用),都需要开摄像头,有些还需要录屏。现在的笔试系统基本上会要求用Chrome浏览器,因此在笔试前准备好带摄像头、装好Chrome浏览器的电脑是基本操作,纸笔和计算器也可以准备好,有备无患。

