【FPGA开发/数字IC设计岗】校招求职准备专题

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

该帖主要结合本人去年找工作经历并为之做出的准备所谈,希望能为正在苦恼的FPGA开发工程师/数字IC设计岗位求职者提供一定的帮助。 

一、了解校招

公司校招主要分为两种形式:提前批和正式秋招。从5月底开始,就会陆续有公司开展提前批的招聘工作,一直持续到暑假结束,然后9月份开始,进入秋招环节。

在这里说一下提前批的好处:
大部分公司提前批是免笔试的,而且提前批和秋招互不影响,比如汇顶科技、OPPO、中兴等,个人感觉某些公司的笔试还是具有一定难度的,免去笔试可以节省不少的时间和心力;
其次,提前批的竞争压力比正式秋招小很多,一方面提前批会卡学校筛选,另一方面,秋招的时候,大家都开始发力了,竞争实在大;
最后,如果公司在提前批招满了人,秋招可能就没有对应的岗位了。所以有能力参加提前批的话一定要报提前批,如若拿到了offer后面会舒服不少,就算没拿到也可以积累不少的面试经验。


校招的一般流程为:
网申---笔试---第一轮技术面----第二轮技术面---HR面。

在网申阶段,大家需要关注相应公司的微信招聘公众号,如果有招聘信息,公众号会第一时间推出,另外,学院的就业信息群也会及时发布相关招聘信息。笔试的话,如果参加提前批,能免去不少,对于笔试的准备放在后面模块讲解。一般公司都是有2轮技术面的,当然也存在部分公司只有一轮技术面,比如vivo公司的提前批就只有一轮技术面,汇顶科技的面试形式为一轮技术面,一轮主管面,主管面会涉及到技术相关问题,但不是纯技术。技术面的形式也不完全统一,有的公司是一对一,有的公司是多个面试官,以个人经历为例,中兴的提前批是三面一,汇顶科技的技术面和主管面均为二面一,新思科技也是多对一进行面试。


如果能好好准备简历,并且进行针对性的复习,我相信绝大部分求职者都能拿到不错的offer。

二、 校招规划

在这里结合本人经历,简单介绍对FPGA开发/数字IC设计岗位招聘可做的规划和准备,可能不适用于所有人,但希望能给部分求职者带来一定的启发。一般vivo的提前批是来的最早的,在5月底便会发布提前批的招聘信息,在此以5月底为招聘开始的时间节点(如果参加9月份秋招,所有的时间节点可根据情况调整)。在此之前,需要进行两大部分的准备:简历准备和笔面试准备。

(1) 简历准备

作为技术岗,项目经历是简历上最重要的模块。如果研究生阶段就是做FPGA或者数字IC相关项目的,这部分内容还是比较好写的,本人研究生阶段所做的项目刚好比较对口,所以,我是从5月初开始制作简历的,写完发给师兄们看看,中间会一直进行修改。如果是从其他方向转数字IC的话,可能需要提前准备一下项目相关经验,然后再进行简历制作。在此提一句:简历是修改不完的,不要觉得自己简历做的不够完美就不进行网申,后续发现问题再慢慢修改即可。

(2) 笔面试准备

笔面试我是从4月底开始准备的,4月底的时候陆续了解一些岗位必备的基础技能以及面试必问基础知识,空闲时间看看别人的面试经验(牛客、知乎都有不少的帖子可看),5月份正式进入相关准备工作。

对于笔试部分,我做的笔试不多,但感觉笔试无需进行过多的准备。一方面,如果笔试太难的话,仅靠短时间的复习,效果不大;另一方面,笔试题目中规中矩的话,在平时积累以及面试准备中几乎都能涵盖到。对于数字IC/FPGA岗位的笔试题,牛客网上发布了一些公司真题,在此强推,笔试前真的可以刷刷。去年vivo提前批笔试前,我在牛客网上刷了几套题,然后第二天笔试中出现了部分原题。

面试部分可以从两部分准备:项目经历和基础技能,在5月底的时候,这两部分我几乎准备的差不多了。在第一次面试前几天,我对照着自己的简历,站在面试官的角度,把所有觉得面试官可能感兴趣的问题都列了出来,然后慢慢分析如何清晰的回答相应问题。记忆深刻的是,当时vivo技术面,面试官问的很多问题都是我自己列出来的,所以整个面试过程就很愉悦。

三、 岗位技能

这部分内容是我自己在面试准备过程当中复习知识点所做的归纳以及面试中常问问题的总结。

(1)接口协议

 1)最常用的接口协议:SPI、UART、IIC。如果简历中涉及了这些协议,那么面试时这些通用协议的使用就是常问问题。比如:SPI有哪几种工作模式,使用SPI协议时用的状态机有几种工作状态以及状态机的跳转条件等等,另外各种协议的时序图,具体细节也要很熟悉。
 2)高速协议:AXI、JESD等等。要是会的话会比较加分,不会的话也没什么大问题。

(2)复位设计

 复位的方法:同步复位、异步复位以及异步复位同步释放(软复位/硬复位这种问的少)。
 这部分内容不仅面试问,笔试也会考。笔试中可能会让你写一下异步复位同步释放处理的verilog代码,画一画对应电路图等等。面试的时候也会问复位的方法有几种,对应的优缺点,你在做项目时,复位是怎么设计的等等。

(3) 跨时钟域处理

 1)控制信号的跨时钟域分析、数据信号的跨时钟域分析,更通用的问法:单bit信号和多bit信号的跨时钟域处理。快时钟域跨慢时钟域、慢时钟域跨快时钟域、握手反馈机制、FIFO相关知识点要熟练掌握,简单代码要会写,这部分内容笔面试都会出现。
 2)FIFO里面常问且笔试常考FIFO深度计算,同步FIFO和异步FIFO设计注意事项,举个例子:异步FIFO中,读写指针同步怎么处理,格雷码的使用,满空状态的判断,假满假空现象以及会对系统产生什么影响;同步FIFO比较简单,面试时可能会让你直接写一下同步FIFO的实现代码。

(4) 综合与静态时序分析

 1)时序分析相关的基本概念:建立时间(setup time)、保持时间(hold time)、arrival time、required time、slack、clock skew、clock jitter、clock uncertainty、clock gating、recovery time、removal time、MCMM(multi corner multi mode)、OCV variation、4种典型data path等等。
 2)时序分析:项目中涉及的时序约束问题,Setup time和Hold time时序与什么有关,出现时序违规应该如何修复。这部分还会出现根据所给电路,计算建立时间和保持时间的计算以及系统的最大运行频率(最小周期)分析。

(5) 低功耗设计

低功耗的分类:静态功耗、动态功耗,静态功耗和动态功耗分别与什么有关。重点掌握门控时钟设计方法,包括与门、或门分别与锁存器的实现原理以及电路实现图。RAM中也会出现低功耗相关问题,比如我之前遇到过的:将256* 8bit 的SRAM,拆分为两个128 *8bit的SRAM,其功耗该如何变化并分析原因。

(6)FPGA结构相关问题

 1)FPGA器件资源:LUT、FF、DSP、RAM、FIFO、时钟管理模块等等。比如:FPGA的逻辑结构、CLB的构成等。
 2)ASIC与FPGA设计流程以及FPGA、ASIC设计的优缺点等。

(7)手撕代码

这部分可以提前准备一下面试常问问题,比如:
1、奇偶分频的代码,奇数分频中占空比为50%以及不要求为50%分别应该如何写。
2、简单的状态机实现的序列检测代码。
3、用一个快时钟确定慢时钟频率的实现代码以及通过慢时钟确定快时钟频率应该如何分析处理。
4、异步复位同步释放代码

5、同步FIFO、两级同步器、握手反馈机制等简单代码。


四、学习资源推荐

第三部分所述技能框架均为面试常问的问题,大家在复习时不能只局限于上述知识点,应该发散性的进行全面总结,对于上述知识点的学习,在此推荐部分优质博主:

1)肉娃娃、IC_learner,这两位博主对于知识点的总结非常全面,而且通俗易懂,非常适合初学者。

2)李锐博恩。他的文章我也是看的比较多的,通过他的推荐,get了一本还不错的书《FPGA之道》,这本书涵盖的知识点全面且详细,作者是以自述形式进行撰写的,很适合我这种文字阅读障碍者,不会觉得枯燥,是我为数不多的能够看进去的专业书籍。

另外在找工作之前,因为疫情在家闲置着,闲暇之余还做了一起学Verilog的99题。里面的题目涵盖了许多知识点,每天做个一两道题,不仅可以巩固知识点,还可以起到查漏补缺的作用。

此外,我一直记得很久之前师兄和我说的一句话,“与FPGA配套的官方文档才是学习FPGA的最好资料”。最开始由于专业知识的匮乏,直接啃英文文档实在吃力,当时无法理解这句话,通过后面的学习积累才发现这句话的真谛。网上的学习资料鱼龙混杂,不是所有的博文都能全面且正确的概括出所有的知识点,有时候就容易被一些信息误导。大家在学习时,可以对照官方文档去网上找中文资料对应着理解,在此推荐博主FPGADesigner,该博主学习了xilinx家FPGA的许多官方文档,并在网上分享了自己英文文档的阅读笔记。

祝愿大家通过自己的努力都能拿到自己心仪的offer!加油!!冲冲冲!!!


关注 @校招硬件大牛 大牛 ,跟大家聊聊硬件校招那些事儿鸭~
想成为专题作者,欢迎私信哟!
#学习路径##校招##书籍推荐#
全部评论
vivo有fpga岗位吗?今年提前批怎么没看到
点赞 回复
分享
发布于 2021-05-25 12:23

相关推荐

12 99 评论
分享
牛客网
牛客企业服务