企业笔试试题(2)

时间:2024-09-18 05:22:53 学人智库 我要投稿
  • 相关推荐

企业笔试试题(2)

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

企业笔试试题(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个。

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

【企业笔试试题(2)】相关文章:

应聘秘书的笔试题及答案(2)10-27

电信笔试题目及答案(2)06-05

汇丰笔试题10-08

最新经典笔试题08-11

产品经理笔试题10-14

腾讯运营笔试题目10-03

文员必考的笔试题目05-27

机械行业笔试题06-21

ios面试笔试题06-06

网易在线笔试题目10-19