华为硬件工程师一二面面经
面试前准备:
数字电路基础部分、FPGA常见面试问题(同步、异步、亚稳态、跨时钟域、FPGA内部逻辑、时序约束等等常见问题)、熟悉个人向项目(一定得非常细致的复习!),我是提前一个月就开始准备。
笔试(八月底):
华为笔试主要考察一些数电基础知识,Verilog基础知识,FPGA中常见的基础知识,少量C语言与模电题,整体题目难度不大,比较容易通过。
一面(专业面试):
一面时间较长,主要问了学习成绩、成绩为什么没有更好(因为被自己蠢死了,填了前百分之50,实际前30%左右,但是填简历是没有这个范围选择,面试的时候答的也不是特别好),然后针对SDRAM控制器这个项目问了非常多的问题主要有:SDRAM为什么要刷新?数据位宽?最大工作频率?画系统框图?描述仲裁优先级?读写最小间隔时间TRC是多少?怎么实现写?读写效能是多少(这个没有答出来,没有测过)?还有很多记不太清了,反正问的非常细,比较关键的问题都问到了。然后基础问题:用D触发器画一个二分频?用Verilog写一个带异步复位?同步清零的17进制计数器?FPGA的内部结构?使用的芯片与平台?块RAM的容量?是一整个吗?还有一些记不太清了,最后问我有什么想要问他的?面试完以后面试官说我过了,然后准备下一面。(一面总体问题难度不大,问的比较基础,但是问的非常细致,主要根据项目问,只问了SDRAM控制器这一个项目,从头问到尾,之前准备比较充分,问题基本都答上来,只有读写效能这个方面自己确实没有去测过)
二面(专业面试):
原以为二面会比较难一些,一上来先做自我介绍,然后问项目中遇到最大的问题是什么,怎么解决的?然后又开始问了一些SDRAM的问题,面试管感觉没啥问的了,就让我写一个上升沿检测的代码,每来10个上升沿产生一次标志位输出,写完上传以后,就被告知二面结束,准备三面。