百度笔试题和面试题答案及答案(二)

编辑:李老师高考志愿助手

  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. STL 中的哪种结构是连续形式的存储:

  A. map B. set C. list D. vector

  10. 一个栈的入栈序列是 A,B,C,D,E,则栈的不可能的输出序列是:

  A. EDCBA B. DECBA C. DCEAB D. ABCDE

二、简答题:20 分,共 2 题

  1. (5 分)重复多次 fclose 一个打开过一次的 FILE *fp 指针会有什么结果,并请解释。

  考察点:导致文件描述符结构中指针指向的内存被重复释放,进而导致一些不可预期的异常。

  2. (15 分)下面一段代码,想在调用 f2(1) 时打印 err1,调用 f2(2) 时打印 err4,但是代码中有一些问题,请做尽可能少的修改使之正确。

  1 static int f1( const char *errstr, unsigned int flag ) {

  2   int copy, index, len;

  3   const static char *__err = { "err1", "err2", "err3", "err4" };

  4

  5   if( flag & 0x10000 )

  6     copy = 1;

  7   index = ( flag & 0x300000 ) >> 20;

  8

  9   if( copy ) {

  10     len = flag & 0xF;

  11     errstr = malloc( len );

  12     if( errstr = NULL )

  13       return -1;

  14     strncpy( errstr, __err[index], sizeof( errstr ) );

  15   } else

  16     errstr = __err + index;

  17 }

  18

  19 void f2( int c ) {

  20   char *err;

  21

  22   swtch( c ) {

  23   case 1:

  24     if( f1( err, 0x110004 ) != -1 )

  25       printf( err );

  26   case 2:

  27     if( f2( err, 0x30000D ) != -1 )

  28       printf( err );

  29   }

  30 }

三、编程题:30 分 共 1 题

  注意:要求提供完整代码,如果可以编译运行酌情加分。

  1. 求符合指定规则的数。

  给定函数 d(n) = n + n 的各位之和,n 为正整数,如 d(78) = 78+7+8=93。 这样这个函数可以看成一个生成器,如 93 可以看成由 78 生成。

  定义数 A:数 A 找不到一个数 B 可以由 d(B)=A,即 A 不能由其他数生成。现在要写程序,找出 1 至 10000 里的所有符合数 A 定义的数。

  输出:

  1

  3

  …

四、设计题:35 分 共 1 题

  注意:请尽可能详细描述你的数据结构、系统架构、设计思路等。建议多写一些伪代码或者流程说明。

  1. 假设一个 mp3 搜索引擎收录了 2^24 首歌曲,并记录了可收听这些歌曲的 2^30 条 URL,但每首歌的 URL 不超过 2^10 个。系统会定期检查这些 URL,如果一个 URL 不可用则不出现在搜索结果中。现在歌曲名和 URL 分别通过整型的 SONG_ID 和 URL_ID 唯一确定。对该系统有如下需求:

  1) 通过 SONG_ID 搜索一首歌的 URL_ID,给出 URL_ID 计数和列表

  2) 给定一个 SONG_ID,为其添加一个新的 URL_ID

  3) 添加一个新的 SONG_ID

  4) 给定一个 URL_ID,将其置为不可用

  限制条件:内存占用不超过 1G,单个文件大小不超过 2G,一个目录下的文件数不超过 128 个。

  为获得最佳性能,请说明设计的数据结构、搜索算法,以及资源消耗。如果系统数据量扩大,该如何多机分布处理?

  友情提示:阅读了本文“百度笔试题及答案”,本站现代语文网()笔试频道,还为你提供更多“笔试题目”相关文章阅读

中国点击率最高的一篇文章 !