数字IC后端面试专题

一、如何准备面试
1、面试知识准备
数字IC后端又称为数字集成电路的物理设计,涉及的知识点非常之多,包括数字后端设计的重要流程中的细节问题(综合Synthesis,形式验证Formality,静态时序分析STA,布局布线P&R,时钟树综合CTS,物理检查DRC/LVS等),版图基础知识,脚本语言(Python, TCL, Perl等),低功耗,甚至还要求前端设计和DFT等一些基础知识。所以要准备的知识点还是很多的,在此结合自己找工作的经历给小伙伴们推荐一些面试准备的资料:

(1)陈春章的《数字集成电路物理设计》,业界所谓的红宝书,虽然是很老的一本书,不过也算是IC后端入门必看的书籍了,便于了解整个IC后端设计的流程;

(2)陈涛的每日一题。是后端大佬陈涛曾经在EETOP上每天一问的后端面试问题,问的问题有深有浅,涉及面也很广,答案也很细致,能学到很多东西。我在秋招前3个月开始,每天都要做一道题,然后从这个问题一直发散下去思考其他相关的问题。网上都很好找到的;

(3)《Static timing analysis for nanometer design》,学静态时序的神书,虽然是全英文,不过貌似已经有汉化版了。静态时序分析STA是后端从业者重中之重的技能,如何修各种timing violation都有很深的讲究;另外推荐邸志雄老师的《数字集成电路静态时序分析基础》课,可以在B站上免费学习https://space.bilibili.com/382647602;

(4)TCL/Python等脚本语言,python资料很多同学们可以自己找一本适合自己学习的即可。TCL我看的是一本很简单但是很实用的电子书,在eetop上可以免费下载http://bbs.eetop.cn/thread-862844-1-1.html。 当时AMD的面试官问了一个TCL中如何对List排序的问题,刚好在这本书上有看到,所以很实用。想快速学习TCL的小伙伴们一定要看一下!

(5)最后再推荐几个微信公众号,同学们可以利用闲暇时间看一看他们写的文章,真的非常不错。

  • 集成电路设计及EDA教程:NVIDIA后端工程师建立的公众号,学习数字IC后端软件ICC的神级号,手把手教学;
  • 吾爱IC社区:资深后端工程师创建的公众号,每一篇文章都堪称精华!
  • 数字后端IC芯片设计:许多后端的基础概念都介绍的特别详细,非常适合入门的同学提前系统的学习。当时面乐鑫被问及低功耗UPF文件的时候没回答上来,后面在这个公众号系统的学习了一下;
  • RTL2GDS:主要是STA系列的文章,将理论和项目实际结合来讲。

2、自我介绍环节
面试的第一件事就是自我介绍,不管是技术面还是HR面都是以自我介绍展示自己开始,通常1-2分钟。在自我介绍前首先需要保证自己的仪容整洁干净,注重面部,头发以及手部的清洁,发型合适,做到前不颠覆,侧不遮耳,后不及领,给人清爽干净,精神干练的印象。
大家还是要搞清楚自我介绍的目的,并不是为了去背个模板去应付一下这个流程,你背下来的模板可能面试官已经听了好多年了。自我介绍的本质就是传达信息,如何在如此之短的时间内,向面试官传达足够的信息点,让他对你有一个大概的印象。比如你的学校,你的专业,你投递的岗位,你能够胜任这个岗位的原因,即你相对于其他竞争者你有什么优势等。
比如依照刚才我说的几个点,我面试时的自我介绍如下:

尊敬的面试官您好!我叫xxx,来自于xxx大学,专业是xxx,投递的岗位是贵司的xxx(一句话简单说你的重要背景,切勿啰嗦)。我觉得自己之所以能胜任数字IC后端岗位的原因是(直接切入正题分点总结你的闪光点):(1) 在xxx竞赛获得了xxx奖项,从这个竞赛中学到了xxx知识,锻炼了xxx能力(重点说IC后端岗位所需要的知识和能力);(2) 深度参与了xxx项目,这个项目中主要负责xxx模块,采取了xxx方法,取得了xxx的效果(比如IC后端的项目会提及流片后的性能,功耗,面积等);(3) 介绍相关的发表的论文和专利等。我的自我介绍完毕,谢谢!

以上是我自我介绍的一个思路,也谈不上有多华丽,但是我有尽可能让每一句话都传递出有效的信息,让面试官能够知道我背景我的优势,我与岗位的契合程度。还有自我介绍的时候一定要轻松自信,把最好的一面展示给别人本来就是一件快乐的事,不要有太大的压力。还有!面试外企前一定要准备一版全英文的自我介绍。面AMD的时候虽然问的问题都是中文的,然而还是要求自我介绍用英文,所以要提前准备有备无患。

二、面试流程
数字IC后端岗位的面试流程,不同公司都大同小异,主要就是技术面+HR面试。技术面试一般都是公司IC后端部门的资深工程师或者主管对你的专业技能进行考察,问的技术问题一般比较基础,只要小伙伴们把我推荐的资料都有总结地去梳理一遍的话,还是很容易受到面试官的青睐的。而HR面试一般就是考察你的个人能力,性格特质,价值观等。以自己面过的一些公司展开介绍公司的面试流程:

华为海思:笔试过了后华为会提前一天通知第二天的面试,总共“两轮技术面+一轮主管面”都是进入华为校招的官网上线上面试,每轮面试平均1个小时,其中两轮技术面会现场做一到两道笔试题。一轮面试完成后等候几分钟后现场通知是否通过面试,如果挂掉了就不会进入下一轮面试。主管面试完后就进入“池塘”,被捞起来后HR会直接和你谈薪资,没有HR面;

大疆创新:大疆校招来得特别早,大疆是“两轮技术面+一轮主管/HR面”,笔试通过后,第一轮技术面试是电话面试,约定一个固定时间会有面试官准时打过来。一面通过后,第二轮就是通过腾讯会议线上面试。二面通过后,终面就是一个HR和一个主管一起面试,最后等消息(友情提醒:Dji发了感谢信后可能还会捞人的,别问我是怎么知道的,反正当时很难受就对了);

阿里平头哥:没有笔试,也是“两轮技术+一轮HR面”。都是通过阿里会议进行线上面试。第一轮面试好像就是部门的老大,聊了5分钟后,老大就问我还有什么问题吗,好家伙这也太快了吧,我人当时都懵了1分钟,以为人没了,结果过了一个月后收到二面通知。二面的面试官好像又是另外一个老大,貌似人还在美国,在AMD,苹果,华为都工作过,很有亲和力的一位老大。最后HR面,然后过一段时间HR发offer并找你谈薪资。

芯原:芯原应该是面试最繁琐的公司了,包括“三轮技术面+HR面+口语测试+总裁面试”, 第一个面试官是负责上海后端部门的老大,很年轻也很有亲和力,第二三轮就都是成都这边的老大和资深的工程师了。英语面试,小姐姐就问一个日常简单的问题,比如“如何看待压力”,然后简单从正反两个方面回答就好。最后是总裁面,总裁就问一个问题“为什么我们只做产品”,答案会在宣讲会的时候提及的。

AMD,Cadence等外企:因为外企的面试比较特别,就直接归为一类说吧。外企主要是技术面,根据你的笔试成绩和简历情况,会有不同的部门来分别面试你,比如面AMD的时候,就有GPU部门负责综合的团队和专门负责APR的团队分别面试。最后通过的话HR直接发offer,没有HR面试。

三、面试技巧
1、技术面试
(1)如果是线下面试,有的面试官会把你做的笔试题拿出来问你,特别是问没有做对的题,所以强烈建议大家面试前把自己做错的笔试题好好查一下,如果能在面试的时候改对会给面试官一个很好的印象!

(2)和技术官打交道的时候,被问到自己很熟的知识点就多说一点,让自己锋芒毕露。而被问到不熟悉的点就不要强行装下去了,先跟面试官提前认个怂实话实说,可以先表示个歉意然后说自己确实没有接触过,或者只接触了一点点,面试官都会表示理解的。和这种技术大牛打交道一定要真诚!

(3)如果面试官问你愿不愿意调岗,愿不愿意去xx城市,这个时候要好好考虑了,因为你说愿意的话能提高你拿offer概率,但是一定要问清楚调到什么岗位和城市,再结合自己能否接受再回答;

(4)最后面试官会问你还有什么问题要问的时候,一定要抓住这个机会去和他深入交流,一般问1到2个就差不多了,问多了耽误他后面面试其他同学的时间。问题的大致方向可以是:

a. 公司的环境和氛围,后端岗位所负责的方向(综合/STA/APR/低功耗等),是否加班等这些你所关心的问题;

b. 面试的时候被问到的没有回答上的问题,可以最后请面试官告诉你答案。一方面表示你对他问的问题很上心,另一方面可以省去自己去找答案所花费的精力时间;

c. 可以和他讨论IC后端工程师的职业前景以及未来的规划和发展,这也是我最喜欢问这些大牛的问题了,每个人都有每个人的思考和看法,可以对这个行业有更深刻的认识;

d. AI对IC后端行业的冲击,是否最后IC后端工程师会被AI工具替代?

2、HR面试
相对于技术面,HR面个人感觉套路更多,在此总结一些我HR面时常问的问题以及回答这些问题的思路:

(1)你最大的优缺点是什么?
优点方面:应该挑与IC后端岗位需要的能力相匹配的优势来讲,比如细心,脚踏实地,沉得住气,专业技能强,脚本写得好等;
缺点方面:HR并不在意你的缺点是什么,而在意你如何面对这个缺点,如何克服它,改正它。当然不要说那种很致命的缺点啊。比如我的优点是很细心,那缺点就是有些时候过于在意细节,导致做事情不容易放得开。

(2)未来的职业规划?
职业规划要基于所面试的岗位来谈,一般说自己未来3-5年的一个预期就好,比如成为一个资深的技术专家或者能独立带队做项目的leader。可以参考比你早进公司3年的人现在的状态。

(3)手头的offer?
问这个问题的目的一是了解你的竞争力,有多个offer和手头没有offer给HR是完全两个印象。二是想了解给你发offer你接受的可能,如果你手上有的offer公司平台好待遇也高,HR觉得这边完全给不了比这个offer更好的待遇,也有可能直接放弃你,哪怕你特别优秀。因为HR的任务就是招人,提高offer的击中率对他们才重要。如何回答呢?
如果手上0offer,可以说面了哪些公司,书面offer还没下来;
如果有offer,那就简单说拿到了哪些公司就好,比如大疆,海思,芯原等,不要再细说待遇职级,如果HR有再细问再如实回答。如果有比这家公司更好的offer了但是你还想再拿这家公司的offer求个稳,你可以说虽然拿了这些公司的offer,但是我还是更倾向于贵司,因为从xxx方面,贵司更加吸引我,这样的话HR也会再多考虑一下的。

(4)期望薪资
工资说得太低自己吃亏,说得太高又会“吓跑”HR,公司受用不起。同学们可以在offershow上去看往年这家公司的待遇,心里有一个数之后,然后在去年的待遇上稍微提高几k的样子,作为期望薪资。建议直接说一个大致范围,我当时面试的时候其实也觉得直接说钱也不好意思,就说得比较绕比较委婉,结果被面试官怼我说人与人之间还是坦诚相待好。本来就是找工作,谈个钱挺正常的,不过一定要对自己的水平有一个正确的认知!

(5)你还有什么问题要问我?
可以问一下公司的培训机制、公司未来几年的发展计划、职位的晋升体系、公司的产品/文化理念等。

四、常见面试题解析
数字后端的面试题还是偏理论基础,这是我总结的一些问题以及答案:

(1)OCV的概念?
On-Chip Variation(片上偏差),由于温度上的轻微偏差、工艺步骤的持续时间、化学制剂的浓度, 以及每只晶圆之间、同一晶圆不同晶粒之间及同一晶粒不同晶体管之间的细微差异而导致芯片生产后出现各种各样的结果。

(2)综合时的线延时是如何估算的?
通过线负载模型(WLM)估算的,具体是基于fanout数量查表出线长length,然后基于线长和单位长度的电阻电容,可以计算出RC值,即可计算出延时。

(3)cell delay是如何计算的?
基于非线性延时模型(NLDM)计算的,通过input transition和output load查表得到cell delay。

(4)异步时钟如何设置约束?
set_false_path –from clk_A –to clk_B
set_false_path –from clk_B –to clk_A
或者
set_clock_groups –asynchronous

(5)评估时钟树质量的因素?
时钟延迟clock latency,时钟偏移clock skew,时钟树长度,时钟树功耗。

(6)CLKBUF和普通的BUFFER有什么区别?
CLKBUF的上升和下降延迟时间更平衡,能保证CLK的占空比正常以及上升和下降沿的clock skew一致。

(7)CTS时候Buffer和Inverter的优缺点
Buffer:优点post-CTS便于修改,缺点面积大,功耗高,insertion delay大;
Inverter:优点面积功耗insertion delay小,缺点即post-CTS不易修改。

(8)HVT和LVT Cell的优缺点
HVT是高阈值电压的Cell,可以降低静态功耗,延迟高;
LVT是低阈值电压的Cell,延迟小,静态功耗高。

(9)为什么要在CTS后修hold?
CTS之前还没有生长时钟树,即使修了hold也没有意义。

(10)什么是天线效应?如何修复?
电荷积累,在我们芯片里,一条条长的金属线或者多晶硅等导体,就象是一根根天线,当有游离的电荷时,这些“天线”便会将它们收集起来,天线越长,收集的电荷也就越多,当电荷足够多时,就会放电。
向高层金属跳先,加Diode(二极管),将Cell size up。

(11)时序上的DRV?为什么要先修复时序的DRV?
Max Transition,Max Capacitance,Max Fanout。
Transition和cap决定了标准单元的延迟,如果这两值有违例,计算得到Cell Timing值不精确。

全部评论
大佬能说一下对后端前景的看法吗?新人小白很疑惑
点赞 回复 分享
发布于 04-13 10:26 广东

相关推荐

Java抽象带篮子:难蚌,点进图片上面就是我的大头😆
点赞 评论 收藏
分享
10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
12 84 评论
分享
牛客网
牛客企业服务