360 2013校园招聘笔试题(含参考答案)
360 2013校园招聘笔试题(含参考答案)
参考答案:
1.D 5*5*5=125
2.C 排除法
3.A 仅个人意见
4.A
5.D ABC三语句一定保留,D不确定,EF一定删除
6.不会
7.D 排除+试探
8.C 网上有详细分析
9.C 关于二进制很有趣的一道题,值得细细研究原理。网上有详细分析
10.D
11.C
12.A 定点数和浮点数?
13.C CISC的指令集呢?
14.B 注意,还有一种表示方式叫移码,即补码的符号位取反(仅仅是符号位不同,其他位 完全一样),移码0的表示也是唯一的。
15.D
16.看不清
17.不完整
18.有错
19.D
20.
21.D 很常见的问题,要弄清楚
22.
23.C 局部变量在出了作用域后就出栈释放了,返回的引用很可能是一块被释放的内存别名
24.A
25.看不清 strcpy和strcmp的实现代码搞清楚了这种题应该秒杀
26.C nTom=foo(nTom);结果nTom是-1,注意uJerry是unsigned 类型,故nTom隐式转化为unsigned int ,然后比较大小。显然nTom比uJerry大。
27.A
28.A 16位机器int是两个字节,因此本题对齐原则也是以2的倍数
a |
|
b |
|
c |
|
29.C
30.C
31.B 地址总线和实际给的内存容量并无直接关联。给16MB的物理内存容量,插到只有10根地址总线的机器上,机器依然可以运行,此时能用的内存大小为2^10B,插到32根地址总线的机器上,机器依然可以运行,此时能用的内存大小为16MB
32.D
33.D http://blog.csdn.net/theone10211024/article/details/13774669
34.A 很奇怪的用法,应该就是考察逻辑或(||)运算吧。||采取的是短路运算,只要前一个表达式为真,就不会计算后一个表达式了。例如
bool test() { cout<<"XX"<<endl; return true;//返回真 } int main() { test()||test();//函数返回true,短路第二个函数 return 0; }
bool test() { cout<<"XX"<<endl; return false;//返回假 } int main() { test()||test();//函数返回false,继续执行第二个函数 return 0; }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
比较逻辑与运算(&&)
bool test() { cout<<"XX"<<endl; return true;//返回真 } int main() { test()&&test();//函数返回true,继续执行第二个函数 return 0; }
bool test()
{
cout<<"XX"<<endl;
return false;//返回真
}
int main()
{
test()&&test();//函数返回true,短路第二个函数
return 0;
}
35.B 本题值得商榷,若考虑最初页都不在内存所引起的页错误,答案应该是6次,若不考虑,则为3次。
36.B
37.A 思路:对于某个数a[i],a[i+1]~a[n-1]必须全大于a[i]或全小于a[i]。显然,对A中91后面的数有大于91的,如94;有小于91的,如24、71
38.C 快排:最坏O(n^2);希尔时间复杂度介于O(nlogn)~O(n2),最关键的就是增量的选择,目前最好的时间复杂度约为O(n^1.5)
39.B对每一个x,前面的s个数都要不少于x个数(卡特兰数)。说的有点拗口,请意会
40.C
41.A
42.B
43.C
44.D 注意单项循环链表不可以
45.A