!!!传说中的百度笔试题(转载),求答案!!!!

xddlky 2006-10-21 01:18:43
另一个版本的

一、选择题: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: hi.baidu.com
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: http://hi.baidu.com/baidu
Cookie: BAIDUID=AFB70E986AC48B336ABAB7505CDD1C76;

请解释以下各字段基本含义: Host、User-Agent、Accept-Charset、Connection、Referer、Cookie


2. (14分)函数A将字符串str1转成小写,并打印出转化前后的字符串。另外,改错时不能改变函数的接口和主要思路。改错时,请指出行号。
1 #include <stdio.h>
2 #include <stdlib.h>
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题
注意:要求提供完整代码,如果可以编译运行酌情加分。

1. 两个已排序的整型数组,求交集,最快算法
输入:两个已排序的整型数组(int a[m], b[n])
输出:两个数组的交集

四、设计题:35分 共1题
注意:请尽可能详细描述你的数据结构、系统架构、设计思路等。建议多写一些伪代码或者流程说明。
1. 考虑一个字符串替换的过程,在一个文本文件中含有一些文本内容和一些需要替换的变量,变量的格式为“$Var$”,原来的“$”使用“$$”进行转义,原来的“$$”表示为“$$$”。我们将含有变量的文件称为模板(文件名为t),文本文件的平均长度为100K。另外,还有一系列的变量文件,里面为变量名和变量值的对应关系(文件名为1.v , 2.v… n.v),每个变量文件包含的变量数在百万数量级,且变量排列次序不定。现要求将,模板里的变量分别用变量文件里的变量替换,并将生成的文件写成(1.r, 2.r… n.r)。
要求:从算法和实现上和实现技术上的细节对程序进行优化,尽量使程序高效。程序运行环境为2G内存,4CPU。阐明主要思路,给出伪码和说明,可以着重指出你使用的优化技术。
例子:模板文件为
This is an $FF$ $$. I like $FF$ and $FA$。
变量文件为
1.v
FF : banana
FA : apple
2.v
FA: 苹果
FF : 香蕉
则生成文件为
1.r
This is an banana $$. I like banana and apple。
2.r
This is an香蕉 $$. I like 香蕉and苹果。
...全文
940 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
iambic 2006-10-22
  • 打赏
  • 举报
回复
百度要笔试那么多人,肯定要先拿基础题过滤一遍,基础题不需要实用性。考不出水平?本来就不想考出水平。基础都不过关的人,拿难题出来,根本就是浪费。

无聊中……
iambic 2006-10-22
  • 打赏
  • 举报
回复
先mark,等会休息下再做。
iambic 2006-10-22
  • 打赏
  • 举报
回复
百度在线笔试题,大概一个月两份吧。
Golfen 2006-10-22
  • 打赏
  • 举报
回复
10.D
ugvihc 2006-10-22
  • 打赏
  • 举报
回复
发个1-10答案,仅供参考,不一定准确:
GD
ABD
A
B
C
C
C
C
B
C
  • 打赏
  • 举报
回复
都是很基础的题,没有变化,反射不出实用性来,所以肯定是假的.要不就是百度出试题的水平很垃圾,根本是随便找些作业题来的.
mengshengxi 2006-10-21
  • 打赏
  • 举报
回复
你从那里拿来的,有多少个版本啊?
jixingzhong 2006-10-21
  • 打赏
  • 举报
回复
8. 解释一下:

struct st_t
{
int status;
short* pdata;
char errstr[32];
}; //该结构体 长度为 4+4+32 = 40 字节;

char* p = (char*)(st[2].errstr + 32);
p 指向了 st 数组第三个元素的 errstr成员(也是一个数组)的第33个成员,
(注意, 这里其实溢出了, 实际上指向了st 数组的 第四个元素的首地址!!)

所以,
结果就是 4-1 = 3 个 st 结构体的内存距离: 40*3 =120
jixingzhong 2006-10-21
  • 打赏
  • 举报
回复
后面的编程题目没有说明新意 ...
jixingzhong 2006-10-21
  • 打赏
  • 举报
回复
6. 以下代码执行后,val的值是___:
unsigned long val = 0;
char a = 0x48;
char b = 0x52;
val = b << 8 | a;


B 21064
jixingzhong 2006-10-21
  • 打赏
  • 举报
回复
8

C 120

jixingzhong 2006-10-21
  • 打赏
  • 举报
回复
2. 需要将OS缓冲区的数据刷新到硬盘,可以调用的函数有(多选):
A.fflush() B. fsync() C. sync() D.writev()

ABC

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧