您的位置:首页 > 其它

阿里题目总结——阿里巴巴2015研发工程师B笔试卷

2015-08-22 15:53 295 查看
1. fork()创建多进程

int main(){fork()||fork();}共创建几个进程:_____c

解析:

fork()给子进程返回一个零值,而给父进程返回一个非零值;
在main这个主进程中,首先执行 fork() || fork(), 左边的fork()返回一个非零值,根据||的短路原则,前面的表达式为真时,后面的表达式不执行,故包含main的这个主进程创建了一个子进程,
由于子进程会复制父进程,而且子进程会根据其返回值继续执行,就是说,在子进程中, fork() ||fork()这条语句左边表达式的返回值是0, 所以||右边的表达式要执行,这时在子进程中又创建了一个进程,
即main进程->子进程->子进程,一共创建了3个进程。

2.

下列方法中,____不可以用来程序调优?

正确答案: B 你的答案: C (错误)

改善数据访问方式以提升缓存命中率
使用多线程的方式提高 I/O 密集型操作的效率
利用数据库连接池替代直接的数据库访问
利用迭代替代递归
合并多个远程调用批量发送
共享冗余数据提高访问效率
解析:
A,提升缓存命中率可以有效加快服务响应速度
B,IO密集型表示大部分情况下IO处于繁忙状态。多线程适合于CPU等待长时间IO操作的情况,比如网络连接数据流的读写。在IO密集型情况下IO操作都比较慢,因此需要专门开线程等待IO响应,而不影响非IO任务的执行。
C,数据库连接池可以有效减少频繁建立连接带来的时间消耗
D,迭代代替递归,减少栈空间的使用和中间值的保存
E,远程调用批量发送,减少网络流量传输,其需要等待多个调用达到一定数量打包才进行请求,不能提高程序效率
F,共享冗余,提高效率,加快访问

3.

设 m 和 n 都是 int 类型,那么以下 for 循环语句,___

正确答案: A 你的答案: C (错误)

循环体一次也不执行
循环体执行一次
是无限循环
有限次循环
循环结束判断条件不合法
运行出错
解析:
for第二个条件n=0返回0跳出循环体,所以一次也没执行

4.

一个合法的表达式由()包围,()可以嵌套和连接,如(())()也是合法 表达式;现在有 6 对(),它们可以组成的合法表达式的个数为____

正确答案: D 你的答案: A (错误)

15
30
64
132
256
360

5.

某路由器接受的 IP 报文的目的地址不是路由器的接口 IP 地址, 并且未匹配的路由项,则采取的策略是

正确答案: A 你的答案: C (错误)

丢掉该分组
将该分组分片
转发该分组
将分组转发或分片
将分组保留存储
以上都有可能
解析:

IP层维护着一张路由表,当收到数据报文时,它用此表来决策接下来应该做什么操作。当从网络侧接收到数据报文时,

IP层首先会检查报文的IP地址是否是主机自身的地址相同,如果数据报文中的IP地址是主机自身的地址,那么报文将被发送到传输层相应的协议中去。

如果报文中的IP地址不是主机自身的地址,并且主机配置了具备路由的功能,那么报文将被转发;否则,报文就被丢弃。

详见 http://network.chinabyte.com/260/12530260.shtml
6.

程序出错在什么阶段__?

正确答案: F 你的答案: B (错误)

预处理阶段出错
编译阶段出错
汇编阶段出错
链接阶段出错
运行阶段出错
程序运行正常
解析:
中 http相当于一个label,//www.taobao.com是注释,所以答案错误,可以运行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: