传说中的百度笔试题

转载 2007年10月06日 21:05:00
 

一、选择题: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苹果。 

相关文章推荐

n年前传说中华为面试题(8分钟写出代码)

有两个数组a,b,大小都为n,数组元素的值任意,无序; 要求:通过交换a,b中的元素,使数组a元素的和与数组b元素的和之间的差最小   思路: 用二重循环把a中的每个元素和b中的每...

传说中的记事本2-Notepad.exe

  • 2010-12-19 15:51
  • 1.57MB
  • 下载

hdu 1034 & poj 1077 Eight 传说中的八数码问题。真是一道神题,A*算法+康托展开

博主表示比较懒,说明什么的就直接粘过来啦。 第一个A*搜索,A*是一种启发式搜索,g为已花代价,h为估计的剩余代价,而A*是根据f=g+h作为估价函数进行排列,也就是优先选择可能最优的节点进行...

Android 传说中的3D播放器

  • 2017-07-23 09:10
  • 2.06MB
  • 下载

传说中的数据库设计第三范式

关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库...

传说中的WCF(3):多个协定

近几天忙于一些事情,没有更新博客,灰常抱歉。 我们知道,WCF服务端是先定义服务协定,其实就是一个接口,然后通过实现接口来定义服务类。那么,有一个问题,如果一个服务类同时实现N个接口(也就是有N个协...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)