百度面试题(All)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题:15分共10题
1. 已知一个线性表(38,25,74,63,52,48),采用的散列函数为Hash($Key)=$Key mod 7,将元素散列到表长为7的哈希表中存储。请选择后面两种冲突解决方法分别应用在该散列表上进行等概率成功查找的平均查找长度,拉链法,线性探测法.
A. 1.0
B. 1.5
C. 1.7
D. 2.0
E. 2.3
F. 7/6
G. 4/3
H. 3/2
2. 需要将OS缓冲区的数据刷新到硬盘,可以调用的函数有(多选):
A.fflush()
B. fsync()
C. sync()
D.writev()
3. 下面哪个shell语句不能打印出用户主目录的路径?
A. echo “$HOME”
B. echo ~
C. echo `$HOME`
D. echo $HOME
4. 最坏情况下,合并两个大小为n的已排序数组所需要的比较次数
A.2n
B.2n-1
C.2n+1
D.2n-2
5. 一个B类网的子网掩码是255.255.240.0,这个子网能拥有的最大主机数是:
A. 240
B. 255
C.4094
D. 65534
6. 以下代码执行后,val的值是___:
unsigned long val = 0;
char a = 0x48;
char b = 0x52;
val = b << 8 | a;
A 20992
B 21064
C 72
D 0
7. 内存的速度远远高于磁盘速度,所以为了解决这个矛盾,可以采用:
A 并行技术
B 虚存技术
C 缓冲技术
D 通道技术
8. 以下代码打印的结果是(假设运行在i386系列计算机上):
struct st_t
{
int status;
short* pdata;
char errstr[32];
};
st_t st[16];
char* p = (char*)(st[2].errstr + 32);
printf("%d", (p - (char*)(st)));
A 32
B 114
C 120
D 1112
9. 同一进程下的线程可以共享以下
A. stack
B. data section
C. register set
D. thread ID
10. 以下哪种操作最适合先进行排序处理?
A 找最大、最小值
B 计算算术平均值
C 找中间值
D 找出现次数最多的值
二、简答题:20分,共2题
1. (6分)下面是一个http请求:
GET /baidu/blog/item/6605d1b4eb6433738ad4b26d.html HTTP/1.1
Host:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q =0.5
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: /baidu
Cookie: BAIDUID=AFB70E986AC48B336ABAB7505CDD1C76;
请解释以下各字段基本含义:Host、User-Agent、Accept-Charset、Connection、Referer、Cookie
2. (14分)函数A将字符串str1转成小写,并打印出转化前后的字符串。另外,改错时不能改变函数的接口和主要思路。改错时,请指出行号。
1 #include
2 #include
3
4
5 char* str1 = "ABDFLjlero我们都是saf";
6
7 char* ToLower(char s[])
8 {
9 static size_t i=sizeof(s);
10
11 for (i; i>=0; i--) {
12 if (s[i]>"A" && s[i]<"Z") {
13 s[i] += 26;
14 }
15 }
16 return s;
17 }
18
19 int A()
20 {
21 printf("old str[%s] after lower[%s]n", str1, ToLower(str1));
22 }
三、编程题:30分共1题
注意:要求提供完整代码,如果可以编译运行酌情加分。