(笔记)研发工程师方向笔试题(网易百度腾讯)

1.

在创新工场你可免费的吃顿午餐,不过得像在学校一样排队打饭打菜哦,打饭的队伍最长的时候0表示女性,1表示男性,某一次打饭的队伍是这样的:001111111010001,设第i个数字为ai,则存在()种ijkg满足i<j<k<g且ai=0,aj=1,ak=0,ag=1。 
A 79
B 75
C 83
D 70
//A

2.

某系统中有3个并发进程,都需要同类资源4 个,试问该系统不会发生死锁的最少资源数是:
9
10
11
12

解析:3个进程要想不死锁 每个进程都需要4个同类资源, 所以 只要每个进程都有3个资源 另外一个在给一个额外的资源。 那么3个进程中有一个可以运行。。运行完以后 释放资源然后其余的 进程在申请资源就可以了

3.

int func(unsigned int i)
{
     unsigned int temp = i;
    temp = (temp & 0x55555555) + ((temp & 0xaaaaaaaa)>>1);
    temp = (temp & 0x33333333) + ((temp & 0xcccccccc)>>2);
    temp = (temp & 0x0f0f0f0f) + ((temp & 0xf0f0f0f0)>>4);
    temp = (temp & 0xff00ff) + ((temp & 0xff00ff00)>>8);
    temp = (temp & 0xffff) + ((temp & 0xffff0000)>>16);
    return temp;
}
请问func(0x7f530829)的返回值是()

解析: 求数的二进制表示中1的个数的“平行算法”,思路就是先将n写成二进制形式,然后相邻位相加,重复这个过程,直到只剩下一位。

4.

关于内存正确的是
A 内存的存取速度不能低于cpu速度,否则会造成数据丢失
B 程序只有在数据和代码等被调入内存后才能运行
C 采用虚拟内存技术后程序可以在硬盘上直接运行
D 某计算机的内存容量为16MB,那么他的地址总线为24位
//B

5.

下列关于线性调度的叙述中,错误的是()。
A 调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会
B 调用线程的yeild()方法,只会是与当前线程相同优先级的线程获得运行机会
C 当有比当前线程的优先级高的线程出现时,高优先级线程抢占CPU并运行。
D 一个线程由于某些原因进入阻塞状态,会放弃CPU
E 具有相同优先级的多个线程的调度一定是分时的
F 分时调度模型是让所有线程轮流获得CPU使用权

A:对的
B:错误    A和B之间区别就是:sleep()方法会给其他线程运行的机会,而不管其他线程的优先级,因此会给较低优先级的线程运行的机会;yeild()方法只会给优先级相同的或者比自己高的线程运行的机会.
C:有问题: 有部分系统是非抢占式的,那就会排队运行,c不绝对吧?错的?
D:对的    我理解的阻塞是程序会停在那边等待...cpu就会去执行别的任务,等阻塞消失后再通知cpu继续执行此程序。
E:错的    大部分是这样,但有部分操作系统不存在分时调度
F:对的    分时调度模型是指让所有的线程轮流获得cpu的使用权,并且平均分配每个线程占用的CPU的时间片

6.

硬币游戏:连续扔硬币,直到 某一人获胜,A获胜条件是先正后反,B获胜是出现连续
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值