个人面经——实习面经
- 平头哥
- 一面
- 海思
- 机试
- 一面
- 二面
本人专业电子与通信工程,因为项目原因,和FPGA靠的很近。由于团队不怎么放实习,本人也只是抱着积攒面试经验和事先咨询一些学习内容的心态面试。所以三月份来说就只投了华为海思和阿里平头哥,也没可刻意去准备。
公司 | 投递截止 | 一面 | 二面 |
海思 | |||
平头哥 | |||
大疆 |
平头哥
3-13 投递
3-24 约的一面,但面试官当天有事改到了26
3-26 也不知道是不是因为同一个面试官的原因,和同实验室一个同学交流发现面试流程和面试问题,都相差不多。
一面
1、自我介绍,我主要讲了教育经历,成绩和奖学金,然后就是主要讲竞赛和项目的经历。
2、也很奇怪在我讲完项目经历的时候居然问我项目的相关内容而是直接问我:同步和异步的优缺点,有用过异步fifo没有,讲一讲异步fifo的主要机理和怎么实现读写同步。
3、我给你一个代码题,二十分钟完成,然后共享屏幕给他看,题目也很简单:**输入一个8bit的数,找到8位中的第一个“1”的位置,然后输出8bit,其中第一个“1”的位置为1,其他位全为0;**由于之前学习过JAVA的少部分课程,里面涉及这个计算1的个数,找第一个1位置等等这些算法,好像是通过移位和异或的方式,但是有点紧张没想出来,然后自己动手用死办法硬写了。其实因为要求的是写完给他共享屏幕,所以有时间在网上搜索算法和代码的,但是时间相对紧张,没看懂网上的代码含义,所以还是决定自己写。面试官看了之后说,功能正确,但是一般不可用。然后再和他聊了一些后期自己有什么需要学习的东西,然后流程就走完了。
也问他为啥没有了解我的项目的东西,他说因为是和他们做的匹配度不高,所以不怎么问。之前听说实验室那位同学面的一般,代码也没撸出来,但是刚又听说他过了,所以感觉实习的面试没那么严格。
/*这是后面想到的一个运用二分法,直接通过组合逻辑实现的比较简单的实现。*/
module find_firstone(
input [7:0] data_in,
output [7:0] data_out
);
wire d1,d2,d3;
wire [3:0] data_d1;
wire [1:0] data_d2;
wire [0:0] data_d3;
// 二分法不断找第一个1的位置的过程
assign d1 = | data_in[7:4];
assign data_d1 = d1 ? data_in[7:4] : data_in[3:0];
assign d2 = | data_d1[3:2];
assign data_d2 = d2 ? data_d1[3:2] : data_d1[1:0];
assign d3 = data_d2[1];
assign data_d3 = d3 ? data_d2[1] : data_d2[0];
wire [2:0] d;
// 根据搜索过程,来确定输出哪些位为0,哪些位为1
assign d = {d1,d2,d3};
assign data_out = 1 << d;
一面直接凉;;;说是不匹配,平头哥做核相关的。
海思
很早就有华为的师兄联系,说帮忙内推递简历,所以很早就完成了官网注册和简历提交。但由于海思实习开得比较晚,四月份正式开始(具体时间安排见下图),所以一直是边做项目边等待状态。
机试
第一次笔试说是挂了,然后又听说由于没招满然后又给了第二次机会,然后认真刷了三套题。(具体参考的是微信公众号:数字芯片设计的华为芯片岗笔试2019年 和 数字ICer华为芯片岗笔试2020年和FPGA探索者这三套笔试题及其详解。总结类似考查的知识点)
一面
我写了两个项目,可能是第二个项目我说了保m项目的缘故,面试官没问,直接一直怼第一个项目问。感觉面试官比较关注的几个问题:1、项目是不是你做的(RTL你编写的?仿真你跑的?综合你做的?模块顶层自己搭的?)
2、一些参数指标(系统时钟频率、ADC采样率、基带数据传输率)
3、模块细节:(写的模块的配置怎么配置的,具体就是寄存器的配置,模块规模咋样、代码量多少)
4、资源优化是什么意思,具体是对什么资源的优化。
5、FIFO干啥用的
最后让画电路图,较简单,不需要写代码:上升沿检测
整个流程还挺快的:
05/24 15:00 开始
05/24 15:44 结束
05/24 15:59 收到通过短信
等二面ing…
第二天就收到收到了05/26早上9:30的二面通知。
二面
和之前准备的完全不同,没有问企业文化,没有问加班看法,没有问基础知识,没有问优缺点。
整体走下来感觉就是压力测试,面试官的问题没有标准答案,你答了一个再在你答的基础上挖字眼继续挑刺,反正就是看看你的反应。感觉不在乎问题本身了,而是你的反应态度。
问题:
(主要是视频面另一端就是一个空荡荡的会议室,看不到人就听得到声音,再结合以下面试过程和问题,贼带劲)
- 两个项目都做完了吗?
- 做完了你自己有想过有哪个具体的问题是想要去改进的吗?
- 我问的是具体的一个例子,不要顾左右而言其他。
- 你想过就想过,没想过就没想过,现在再给你一次机会,请你诚实告诉我,你想过还是没想过?
- 好,我觉得你在这个问题上也说不清楚,咱们换一个问题。
- 你为什么想做数字芯片这个行业?
- 你不喜欢吗?你的第一反应不应该是喜欢吗?
- 那你为什么喜欢这个行业?
- 为什么从小就喜欢做硬件方面的东西?
- 方面问一下你父母的行业吗?
- 你父母的行业也不涉及硬件,为什么从小就喜欢硬件,怎么接触到硬件的东西呢?
- 成长过程中有遇到过最大的问题或者最有压力的一件事吗?
- 怎么调节压力?
- 为什么跑步就能调节压力呢?
- 然后后面就是反问了,我问了部门业务和培训方面的东西,面试官还是回复很客气很全面的。
整体对自己面试表现还是很糟糕的,没有想到也没有意识到这个是压力测试,虽然自己表现不理想,但是十分钟后就收到了面试通过的短信,反正华为池子也比较深。