T470怎么样# Hardware - 计算机硬件
c*p
1 楼
版上基本没有IC design的面经,所以在这里写下我自己的经历。有些内容不太方便说,
只是大体讲讲。与其说面经,不如说是面前复习的思路和面后的自我总结。总体感觉是
,对于我来说,只要课程的东西都掌握了,应付HW的面试实际上是比系统地准备算法写
SW代码要轻松一些的。
这个职位说是处理器设计,实际上是验证为主;这也和现在的主流相符:要验证的多,
要设计的少;但是与之矛盾的是,学校教学多强调设计而不重视验证,所以很多学生面
对验证职位都很打怵。我个人感觉是,没必要怕,一方面做过实际project的往往也都做
过验证,另一方面公司也都明白学校验证教得不好,毕业生这方面如果不强他们也理解
。我本人验证方向也很弱,电面和onsite的时候都答得很烂,但是其他方面没出什么纰
漏,所以最后拿到offer。
电面和onsite都主要会考查这几个方面:逻辑验证;逻辑设计;计算机架构;汇编语言
;C、脚本语言;FPGA。
面完的感觉是,他们不会在难度上为难学校出来的学生,但是他们的题一定能把有背景
和没相关背景的学生区分出来。没背景而突击的学生,可能电面的时候回答概念题答得
很好,但是在onsite的时候一定会露馅。
验证方向没什么太多感觉,答得也不好。onsite的时候面试官会设置一些情景,问你用
什么方法检测和验证module是不是work。
逻辑设计的考查内容也很简单:对于组合逻辑,写verilog代码,并用基本逻辑门搭建,
implied latch肯定会问到;对于时序逻辑,带复位的触发器肯定跑不掉。同时会问tim
ing analysis的问题,google digital design interview questions的话,都能找到。
计算机架构应该只针对处理器设计的时候才会考到(而且我估计随便一家相关公司都会
问这些问题):流水线理论及逻辑实现,分支预测,内存/缓存体系架构(包括虚拟内存
),乱序执行。
汇编语言实际上也是考查计算机架构,一般不会要求写具体的代码,而是给出一段代码
,并展开讨论,可以由此展开的问题包括hazards,addressing mode,乱序执行。
对于IC设计,编程语言的考查不太会要求写大段的代码,而是要考查对语言特性的理解
(广而细致),和使用的熟练度;另一方面,因为涉及到处理器,高级语言背后,底层
的机制也有必要了解。脚本语言主要是用来做各道工序的粘合剂,了解或者熟练最好,
但是同样不会要求你写整段的代码。
FPGA可能关注你实际的经历。学术方面的问题只要接触过的都没有难度(比如做FPGA的
leading company都有哪些)。
以上列出来的应该当算是个复习提纲,也有很多点本可以展开细讲,但是因为签了保密
协议,能说的并不多。就这些吧。
只是大体讲讲。与其说面经,不如说是面前复习的思路和面后的自我总结。总体感觉是
,对于我来说,只要课程的东西都掌握了,应付HW的面试实际上是比系统地准备算法写
SW代码要轻松一些的。
这个职位说是处理器设计,实际上是验证为主;这也和现在的主流相符:要验证的多,
要设计的少;但是与之矛盾的是,学校教学多强调设计而不重视验证,所以很多学生面
对验证职位都很打怵。我个人感觉是,没必要怕,一方面做过实际project的往往也都做
过验证,另一方面公司也都明白学校验证教得不好,毕业生这方面如果不强他们也理解
。我本人验证方向也很弱,电面和onsite的时候都答得很烂,但是其他方面没出什么纰
漏,所以最后拿到offer。
电面和onsite都主要会考查这几个方面:逻辑验证;逻辑设计;计算机架构;汇编语言
;C、脚本语言;FPGA。
面完的感觉是,他们不会在难度上为难学校出来的学生,但是他们的题一定能把有背景
和没相关背景的学生区分出来。没背景而突击的学生,可能电面的时候回答概念题答得
很好,但是在onsite的时候一定会露馅。
验证方向没什么太多感觉,答得也不好。onsite的时候面试官会设置一些情景,问你用
什么方法检测和验证module是不是work。
逻辑设计的考查内容也很简单:对于组合逻辑,写verilog代码,并用基本逻辑门搭建,
implied latch肯定会问到;对于时序逻辑,带复位的触发器肯定跑不掉。同时会问tim
ing analysis的问题,google digital design interview questions的话,都能找到。
计算机架构应该只针对处理器设计的时候才会考到(而且我估计随便一家相关公司都会
问这些问题):流水线理论及逻辑实现,分支预测,内存/缓存体系架构(包括虚拟内存
),乱序执行。
汇编语言实际上也是考查计算机架构,一般不会要求写具体的代码,而是给出一段代码
,并展开讨论,可以由此展开的问题包括hazards,addressing mode,乱序执行。
对于IC设计,编程语言的考查不太会要求写大段的代码,而是要考查对语言特性的理解
(广而细致),和使用的熟练度;另一方面,因为涉及到处理器,高级语言背后,底层
的机制也有必要了解。脚本语言主要是用来做各道工序的粘合剂,了解或者熟练最好,
但是同样不会要求你写整段的代码。
FPGA可能关注你实际的经历。学术方面的问题只要接触过的都没有难度(比如做FPGA的
leading company都有哪些)。
以上列出来的应该当算是个复习提纲,也有很多点本可以展开细讲,但是因为签了保密
协议,能说的并不多。就这些吧。