阿里巴巴招聘研发工程师笔试题和面试题答案

来源:解志愿时间:

  如下为大家分享是一套阿里巴巴招聘研发工程师笔试题,欢迎大家收藏。
  一、单选题(前10题,每题2分;后10题,每题3分;共50分。选对得满分,选错倒扣1分,不选德得0分)

  1.假设一个主机的IP地址为192.168.5.121,而子网掩码为255.255.255.248。那么该主机的网络号部分(包括子网号部分)为 。

  A. 192.168.5.12 B. 192.168.5.121 C. 192.168.5.120 D.192.168.5.32

  2.64位系统上,定义变量int*a[2][3]占据 字节。

  A.4 B.12 C. 24 D.48

  3.Linux中使用df –h/home和du –sh/home所查看到的已使用的磁盘容量不同,可能的原因是 。

  A.命令不同,所以结果肯定不同 B.两个命令所用的参数有问题

  C.运行中的进程打开文件被删除导致 D. Linux的特性导致的

  4.一个C语言程序在一台32位及其上运行。程序中定义了三个变量xyz,其中x和z是int型,y为short型。当x=127,y=-9时,执行赋值语句z=x+y后,xyz的值分别是 。

  A. x=0000007FH, y=FFF9H, z=00000076H

  B. x=0000007FH, y=FFF9H, z=FFFF0076H

  C. x=0000007FH, y=FFF7H, z=FFFF0076H

  D. x=0000007FH, y=FFF7H, z=00000076H

  5.有如下数组定义,

  int [][] myArray = new int [3][] { new int[3]{5, 6, 2},

  new int[5]{6, 9, 7, 8, 3},

  new int[2]{3,2}};

  则,myArray[2][2]的值是 。

  A. 9 B. 2 C. 6 D.越界

  6.快速排序的期望运行时间复杂度是 。

  A. O(n2) B. O(nlogn) C. O(n) D.O(2n)

  7.在一个长度为n的顺序表中删除第i个元素,要移动 个元素。如果在第i个元素前插入一个元素,要后移 个元素。

  A. n-i, n-i+1 B. n-i+1, n-i C. n-i, n-i D. n-i+1, n-i+1

  8.下面C++程序的输出是 。

  void f(char *x)

  {

  x++;

  *x = ‘a’;

  }

  int main()

  {

  char str [ sizeof (“hello”)];

  strcpy( str, “hello”);

  f(str);

  cout << str;

  return 0;

  }

  A. hello B. hallo C. allo D.以上都不是

  9.有以下程序,其执行结果是 。

  char fun(char x, char y)

  {

  if(x) return y;

  }

  int main()

  {

  int a = ‘0’, b = ‘1’, c = ‘2’;

  printf(“%c\n”, fun(fun(a, b), fun(b, c)));

  }

  A.函数调用出错 B.2 C.0 D.1

  10.当n=6时,下列函数的返回值是 。

  int foo (int n)

  {

  if(n <= 2) return n;

  return foo(n-1) + foo(n-2);

  }

  A.1 B. 8 C. 13 D.21

  (以下每题3分)

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