下面是4个同学面试华为的面经,4个人都是做IC设计的。华为面试比较难的是手撕代码,现场手撕代码的能力需要在平时积累,可以通过做项目锻炼,也可以通过看其他人写的博客积累。万变不离其中,把基本的代码思想掌握了,真正面试的时候问题应该不大,手撕代码我做了一个目录,可以参考这篇博客:老学姐2021年数字IC“秋招”复盘(公众号IC媛)。

同学1

(1)华为海思

一面

1、自我介绍

2、项目内容

3、问我知道逻辑设计中怎么设计中断吗?

4、跨时钟域怎么处理

5、撕代码(串并转换,输入1bit,够256bit的时候输出,输入输出都有valid)

6、问了我怎么做边沿检测(上下边沿同时检测)

二面

1、自我介绍

2、问项目内容(遇到的困难,怎么解决的、时间同步算法等等内容)

3、问我了解FPGA底层不,还问我FPGA中4bit的A和4bit的B怎么同或(查找表)?

4、手撕代码,关于包转换的。一个小包128bit,一个大包由若干个小包构成,需要把小包的前2byte去掉,输出一个大包的时候,需要加上一个2byte的包头。设计原则为面积优先。

三面

1、自我介绍

2、讲项目中遇到的困难及解决方法

3、将对华为海思的认识

4、你比较有成就感的事情,在做项目过程中

5、你性格上的优缺点

同学2

(2)华为数通部门

一面

项目与数通契合,主要围绕项目询问,问了交换机的转发机制,三层以上的路由协议,对FPGA的基本架构的知识,最后手撕代码:周期性每检测到5次输入信号的上升沿就输出一个脉冲。

二面

围绕项目,考察对相关协议的理解和实现,手撕两道代码:1.序列检测;2.多bit数据从100M跨时钟到50M的处理。

三面

没问技术,上来就是调查户口,询问爱好之类的,在开发过程中所遇到的困难,和他们产生分歧该怎么办。询问对华为的了解和对华为文化的看法。

同学3

(3)华为海思

一面

1、 自我介绍

2、 介绍项目:

3、 撕代码:三分频还问怎么优化

4、 中断不是只读(复盘笔试题)

5、 时序优化怎么做的?

6、 项目中的跨时钟域问题

二面

1、 自我介绍

2、 讲项目:问板级调试遇到的难点

3、 做了一个题 (握手-手撕代码)

三面

1、 华为有奋斗者文化,你对此怎么看待?

2、 架构设计?你是怎么开展这个工作,从无到有?项目时间规划?

3、为啥来集成电路呢?

4、选择海思的理由

5、提问

同学4

(4)华为海思

一面

risc-v指令的特点

怎么去考虑设计你们的指令的

分支预测是什么、有哪些方法

TCM和cache应用场景的区别,如果用一个dma搬运数据到cache会不会解决内存空间的问题

项目相关

做题,一个根据代码画电路图,一个建立保持时间

二面

项目相关,主要问毕设项目,遇到哪些问题、怎么去解决的、代码量多少、算法仿真matlab代码量多少

做题,一个慢到快的跨时钟域处理,而且数据有效是一个脉冲,可能会存在的问题,解决办法。

三面

问项目,聊了20分钟、然后剩下的时间问了下面的问题

有没有啥坚持最长的事情

为啥选择搞技术,不选体制内