|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 matrx 于 2013-3-27 19:54 编辑
3.19号参加的nvidia实习生招聘的面试与大家分享一下,应聘ASIC Intern的大概有30人左右。首先是一个小时的笔试,笔试一共有5个题。第一题是用两个mux实现(A&B|C)的组合逻辑;第二题用你熟悉的语言选出包含XXXXX字符串的字符并保存在doc文件里;第三个题是阅读一段C语言代码,问实现什么功能
- void exam(*px,*py,int z)
- {
- int k;
- int x,y;
- for(k=0;k<16&&z!=0;k++,z>>=2)
- {
- x|=(z>>0&1)<<k;
- y|=(z>>1&1)<<k;
- }
- *px=x;
- *py=y;
- }
复制代码
第四题是一个关于信号保持的题,clk_A产生一个脉冲signal_A,如果用一个未知频率的clk_B去采集signal_A,怎样才能保证信号完整。
第5题用verilog实现求余运算,res=mod(y[6:0]/x[3:0]);mod 运算举例(mod(1/3)=1,mod(4/3)=1;mod(5/3)=2;
笔试之后刷掉大部分的人,只有6个人进入第二轮面试,楼主有幸成为了这1/6,但面试的时候还是被虐了。问了很多设计底层的东西,比如加法器的实现,除法器实现,楼主在学校是做FPGA的平时很少研究底层的东西,所以答的不好。面试的时候问了一道智力题,问有三个箱子只有1个里面有奖品,你先选一个,然后主持人打开一个空箱子,这时候再给你一次选择机会,你该选择哪个箱子,是你原来那个还是另选一个?各位同学要是感兴趣不妨把答案和思路写下,大家讨论一下。
一个星期过后楼主悲剧的被nv拒了,但天无绝人之路楼主又找了另外一家实习的公司,所以在这里把上面题目的解答贴出来,希望感兴趣的人继续讨论,
首先是第一题用两个选择器实现组合逻辑
第二题应该是考察的脚本语言,可以用perl实现。
第三题程序的功能是将z的bit位按奇偶排列
第四题分两种情况1.慢时钟向快时钟传递可以用两级寄存器缓存 2.快时钟向慢时钟可以用锁存反馈法
第五题思路是移位做减法
智力题应该选第另外一个理由和下面同学说的差不多 |
|