用户名: 密码: 企业 个人
当前位置:89学习网范文文章招聘应聘笔试英伟达2017年笔试题» 正文

英伟达2017年笔试题

[05-15 14:50:43]   来源:http://www.89xue.com  笔试   阅读:90
摘要:1.给出下面常用的C变量的定义方式:An array of 10 pointers to integers:int* p[10]A pointer to an array of 10 integers int (*p)[10]An array of ten pointers to functions that take an integer argument and return an integer: int (*p[10])(int)2.Difference between semaphore and mutex;互斥体:互斥体用于线程间的互斥,一次只允许一个线程进入临界区,它不能保证访问的顺序,因此其是无。
英伟达2017年笔试题,标签:笔试范文,http://www.89xue.com

  1.给出下面常用的C变量的定义方式:

  An array of 10 pointers to integers:int* p[10]

  A pointer to an array of 10 integers int (*p)[10]

  An array of ten pointers to functions that take an integer argument and return an integer: int (*p[10])(int)

  2.Difference between semaphore and mutex;

  互斥体:互斥体用于线程间的互斥,一次只允许一个线程进入临界区,它不能保证访问的顺序,因此其是无序访问。互斥体只能有同一线程释放,互斥体是睡眠锁,一旦资源被占用,资源的申请者只能进入睡眠状态,所以互斥体只能用于进程上下文,而不能用于中断上下文。

  信号量:也称信号灯,进程/线程间同步用,保证对资源的顺序访问,一个进程(线程)完成了某一个动作就通过信号量告诉别的进程(线程),别的进程(线程)再进行某些动作,例如读者写者问题。信号量的释放可以由其他进程/线程释放.信号量为控制一个具有有限数量用户资源而设计,例如允许多个读者同时访问资源。同样信号量是睡眠锁不能用于中断上下文

  自旋锁:类似于互斥体,但其可以用在中断上下文,因为对于没有获得锁的线程会循环检测,不会睡眠,但其占用cpu资源大。

  信号量与互斥体的区别可以归结如下

  1. 互斥体用于线程的互斥,信号量用于进程/线程的同步。

  2. 互斥体必须由同一线程获得和释放对应使用,而信号量可以由一个线程释放,另一个线程得到

  3. 互斥体的数值为0或1,信号量可以是任何非负整数

  3. 100楼,2个eggs。

  egg在第k楼及以上掉下会摔碎,k楼以下掉下不会碎。问如何确定k(K在1-100之间)

  1个egg时肯定是从第1楼开始一层一层试;

  那么2个eggs如何确定k?

  3个eggs呢?

  一般化:m个eggs,n个楼层,如何确定k?

  Answer:因为必须要保留最后一个蛋来确定哪一层楼

  所以其余m-1个蛋用于折半查找范围

  不知道是不是这样,忘各位留言指教

  4.100个门排成一排,开始时全部为closed。

  第1次, 操作门1,2,3,4……100

  第2次, 操作门2,4,6,8……100

  第3次, 操作门3,6,9,12……99

  第4次, 操作门4,8,12,16……100

  ……

  第100次,操作门100

  上面“操作”的意思时:如果原来门是open的,就关掉它;如果原来是closed的,就打开它。

  第100次之后,哪些门是open的,哪些门是closed的。

  Answer: 看一个数有几个因子,因子数为奇数则为开,因子数为偶数极为关,每个数都可以表示为2个数的乘积,因此只要不是某个数的平方,即两两配对,为偶数个因子,若为某个数的平方必定为奇数个因子,所以1,4,9,16,25,36,49,64,81,100为open,其余为closed

  5. 华为机试题:找出100以内的非素数

  100=10*10;非素数必有一个因子小于10

  因此只要能整除2,3,5,7即为非素数


Tag:笔试笔试范文招聘应聘 - 笔试