打造IC人才
科技生态圈

2022年大厂面试题|ic验证工程师面试经验分享

发布时间:2022-10-21

来源:IC修真院

2022年秋招是ic验证工程师面试的旺季,今日来分享数字ic验证工程师面试经验,下面按时间顺序整理一下面试过的:3月9号周四投递了联发科,AMD,商汤,zeku,奥比,寒武纪,地平线,晶晨,奕斯伟。联发科要4.13才笔试。晶晨、奕斯伟一直都没消息。

数字ic验证工程师

3.13——zeku一面(半小时)

Zeku是师兄给了HR的微信,所以处理比较快。先问了我几月能去实习,得知六月才能入职后,HR说优先面三四月就能入职的实习生,结果没想到周一还是排了面试。面zeku前基础没来得及好好看,主要复习了项目。但是一面面试官从头到尾一直问基础:

1. SV新引入的几种数据类型。Logic和bit分别什么特性,为什么要引入?Logic与reg什么区别?能被多个变量同时驱动吗?驱动了会发生什么?

Bit是有符号数还是无符号数?如果给多位的bit赋了负数会发生什么?给三位bit赋负1怎么赋呢?

2. 介绍一下数组,队列,动态数组。队列能随时创建吗?能随时改变size吗?先创建一个size为3的,再把它size改变成5,原来的数会保留吗?

3. 介绍一下面向对象三特性。

4. 数据类型是static类型是什么意思?与动态变量什么区别?静态方法是什么意思?静态方法能用动态变量吗?

5. 堆和栈知道区别吗?

6. UVM知道仿真结束归于哪个节点吗?(面试官:不知道的话回去好好看UVM白皮书,源码里有写归于root)

7. Config能传递什么?能传递seq吗?怎么传?

被问懵了好几回。面试官暗示还有好多要学的,并表示他面实习生更关注基础。感觉之前复习项目侧重点错了,面完以后开始看SV和UVM语法基础。

3.14——商汤一面(一小时)

商汤是师兄内推,也比较快。一面从项目开始聊,从项目中问一些基础。然后开始问些设计的概念,但都不太深。

1. 验证流程知道吗?

2. 项目中的验证环境是怎样的?哪些是你写的?

3. 项目里激励是怎么给到dut上的?用了哪些手段读写寄存器?

4. 项目Scoreboard是怎么检查比对数据的?采样数据是什么节点采样呢?

5. 项目里的C case怎么转变成的对dut的操作?数据流知道吗?

6. 一些SV、UVM基础,问得相对浅

7. 竞争与冒险知道吗?怎么消除?

8. 亚稳态是什么?怎么消除?

9. 格雷码有什么好处?

3.14——zeku二面(十五分钟)

二面面试官好像是主管,说他一会儿要开会时间比较紧。先问了我会哪些,之前用过哪些工具,然后问了实习时间和入职时间。给我了介绍了他们部门的情况,说我六月才能入职的话模块级验证应该在收尾阶段,实习生主要debug,收覆盖率等。

第二天HR通知过了,说之后HR经理会联系我。但到现在都没联系,可能还是嫌六月入职太晚了吧,优先把名额给能现在入职的同学。

3.17——商汤二面(一小时)

二面不问基础了,先是深挖了一些项目细节,然后面试官口述了一个小模块,让我说怎么验它,说是一个开放性问题,主要考察验证思想。

1. 一个类似闹钟功能的计时器,预设的时间阈值到了以后会输出一个高电平信号。你怎么验证它?

2. 你刚刚说的都是一些基本功能,验证要考虑实际应用场景,再提一些其他情况。(我:在计时过程中改变预设时间值,看看计时器是否会及时更新)

3. 基于你说这种情况,如果没有及时更新,可能是什么错误?每种错误你要再怎么验证?

4. 刚刚那个模块用Verilog要怎么写?

3.18——AMD(一小时)

两个面试官,问满了一小时。先是了解项目,问了些实现的细节;然后开始问SV和UVM基础,问得很细;又问些设计的概念;最后还问了C的一些基本概念。问题与之前的有一些重复,这里只列举新的。

1. SV中约束知道吗?知道怎么给约束设置比重吗?关键词是什么?三七开的比重分配具体语法句子是怎么写?

2. 虚方法讲一下。子类句柄能指向父类对象吗?

3. UVM中寄存器读写操作有哪些方法?update()和mirror()分别什么作用?

4. 写过哪些Verilog?状态机怎么写?如果有六个状态,编码三位,余下那两种状态综合后可能生成什么?如何消除这种情况?

5. 寄存器与锁存器的区别是什么?哪个面积大?各自优点缺点是什么?

6. 跨时钟域怎么处理?为什么要打两拍?

7. C语言中联合体与结构体区别是什么?

面试官简单介绍了组里情况,是SOC组,用C++和system C验证。两小时后HR给了口头offer。

3.18——地平线一面(一小时)

面试官上来先问了学校的不相关项目,然后开始细问SV和UVM基础,最后提了些非技术问题,当场给了反馈。

1. Ref关键字知道吗?

2. 类里的成员默认是静态还是动态?module里呢?为什么?

3. Fork join_none的各个子线程是什么时候结束?(面试官:子线程分触发和创建,阻塞了才会真正创建,所以一般在fork join_none下面加wait fork)

4. 多态怎么理解呢?不改变原类的基础上怎么修改原方法?

5. 回调函数具体怎么用?

6. UVM中两大基本类是什么?具体区别是?

7. 非技术问题:三人小团队,你是组长,另外两个人一个就喜欢干流程性的活,另一个就喜欢钻研创新,你怎么分配任务?协调他俩?

8. 你和爱搞创新爱钻研的那个人一起研究技术问题,他本身比较固执,一个技术问题往东往西都行,他偏要往东,你怎么办?

9. 工作中遇到技术问题,你怎么平衡自己解决和问人?

面试官实在是太大佬了。前面技术问题感觉问的是一些基本概念,但我每次回答完以后他还会给补充很多深层次的解释和理解,很多我之前都闻所未闻,大受震撼。说问非技术问题我一开始以为要聊发展,结果是怎么当组长。后来加了去年在地平线实习的学长才知道面试官是组长,可能比较关心这种团队问题。最后面试官介绍了他们现在的情况,能听得出来对公司现在的发展非常自信,是国内车载芯片赛道唯一一家芯片已经量产上车的公司。地平线也是面试到现在唯一一家面试官也开摄像头的公司,感觉给了学生更多的尊重。

3.18——寒武纪电话面(半小时)

面试官可能是设计,全程一直在了解两个小项目里dut的功能情况,还问了一些验证思路。最后表示他们不确定六月还有没有名额,优先现在能实习的同学。

3.21——商汤主管面(一小时)

主管又问了一遍项目,问了为什么想做验证,介绍了组里情况,强调希望实习生能留用,不想白培养。

一天后HR通知面试都通过了,但要和技术部门确认六月入职行不行,说是一周内答复,直到现在也没消息。看群里商汤好像都是日常实习,没有暑期实习这一说,可能时间上还是满足不了。

3.21——地平线主管面(一小时)

主管上来就用您称呼我,人非常温和有礼。问了项目中的一些细节,尤其是一些我没验到的地方我打算怎么验。然后介绍了他们对实习生的安排:入职前mentor会先发资料让预习,入职后做一个虚拟项目熟悉公司flow,然后开始参与实际项目。主管素质太高了,问项目的时候也一直在给我上课,实在是大开眼界。一天后HR给了口头offer。

3.21——之后

寒武纪又问实习时间,说不确定六月还有没有实习名额。奥比3.24才联系问还面试吗,并解释前段时间他们改成居家办公了,简历筛选比较慢,现在才开始实习生招聘。后面四月学校事太多了,没法再集中时间面试了,就都推掉了。发哥海思流程比较靠后可能也没时间准备了。

以上就是给大家整理的“2022年大厂面试题|ic验证工程师面试经验分享”

相关推荐:

2022大厂秋招_大疆芯片开发工程师

systemverilog测试平台编写指南

高级验证方法学

推荐阅读

换一换