下面是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分钟、然后剩下的时间问了下面的问题
有没有啥坚持最长的事情
为啥选择搞技术,不选体制内