今天去东南大学参加的NVIDIA校园招聘的笔试,我申请的职位是Graphics Architect,偏向软件类的。出乎意料的是没有考OpenGL管线流程图附带Programmable Pipeline的结合,那个东西我闭着眼睛都能画出来。大部分题目都是很基础的,CS专业的应该都会做。简单的瞥了周围一下,仿佛没有本科生,即使有也是CS、EE专业的Master,我这个学木工的烂校本科生和他们在一起我真觉得很奇怪。
说一下笔试题目。最后十几分钟实在懒得抄了,代码实在比较多。
C++部分大概是这样
- STL的由几部分组成,有哪些容器,抽象类的作用,虚拟析构函数的作用(这个就不说了,我C++好歹也写上万行了这些还不晓得就完蛋了)
- 单向链表(其实也不是很明白题目的意思,干脆直接把它的烂程序改正确了写我的答案)
- C++程序改错(NV的内部人员代码写的是不是都不多,写个简单的类都一堆错误)
问答题有
- Virtual Memory System虚拟内存系统的作用(这个说实在的我不知道它问的是磁盘交换的VMS还是OS的VMS机制,我回答的是后者)
- User-Mode与Kernel-Mode的区别(OS基础概念,没写多少,概念的我实在不擅长)
- TLB Cache的作用(我从GPU执行效率上开始回答的)
- 连续Cache与4-Way Set Cache的区别(我觉得是问GPU和CPU的缓存特点,我把Intel Larrabee的设计思路也写了上去做对比)
最后一道智力题,ABCD四个人摸黑过桥,A要1分钟,B要2分钟,C要5分钟,D要10分钟,一个手电筒,最多两人同时过桥且时间为比较慢的那个。我给了2种方案附带全套分析过程,17分钟,答案和网上的一样,真奇怪我怎么能做出来的,Google了一下据说这题目也是以前微软出过的。
总之我个人觉得自己稳定发挥了自己的水平,没有空白的,“洋洋洒洒”的写的满满的,连NVIDIA的范例代码的错误我都给指正了出来,因为我实在无法容忍这样的公司竟然会写void main()这样的入口函数。
坐等笔试通知了,手头的工作继续。