2011人人网校园招聘笔试题

人人公司 C++笔试

选择填空题

1,下列叙述中,正确的是(  )

A. 线性链表中的各元素在存储空间中的位置必须是连续的

B. 线性链表中的表头元素一定存储在其他元素的前面

C. 线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面

D. 线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的

2,已知二叉树后序遍历序列是edcfba,中序遍历序列deacbf,它的前序遍历序列是adebcf

3,如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是______________

4,若有定义语句: int a[3][6];,按在内存中的存放顺序,a数组的第10个元素是(  )

   A. a[0][3]     B. a[1][4]       C. a[0][4]     D. a[1][3]

5,对长度为n的字符串进行字符定位运算的时间复杂度为(   )

  A. O(1)      B. O(√n)     C. O(nlog2n)       D. O(n)

6,N个顶点的连通图中边的条数至少为__n-1________

7,在OSI模型中,完成多路复用的是(   )

A. 数据链路层    B. 网络层     C. 传输层       D. 应用层

8,有如下语句int a[10]={1,2,3,4,5,6,7,8,9,10};int *p = a;则数值为9的表达式是(   )

A. *p+9      B. *(p+8)      C. *p+=9     D. p+7

9,下列对变量的引用中错误的是(  )

A. void fun(const int&n =”renren”);       B. int&fun( );

C. int a; int &p; p=a;                   D. int a;int &p = a;

10,一个函数带有参数说明时,则参数的默认值应该在(    )中给出。

A. 函数定义    B. 函数声明      C. 函数定义或声明     D. 函数调用

简答题

1,请问这个程序的输出是什么?并写出原因

#include”stdafx.h”

#include<iostream>

class Book

{

public:

  Book(){std::cout<<”Book\n”;};

  ~Book(){std::cout<<”~Book\n”;}

};

int_main(int argc,_TCHAR*argv[])

{

  Book*pBook = new Book[3];

  delete pBook;

  return 0;

}

2,什么函数不能声明为虚函数?

3,请问交换机和路由器分别的实现原理是什么?分别在那个层次上面实现的?

4,用变量a给出下面的定义

A,一个整型数 int a

B,一个指向整形数的指针 int* p

C,一个指向指针的指针,它指向的指针是指向一个整型数 int** p

D,一个有10个整型数的数组 int a[10]

E,一个有10个指针的数组,该指针是指向一个整型数的 int  *p[10]

F,一个指向有10个整型数数组的指针int  (*p)[10]

G,一个指向函数的指针,该函数有一个整型参数并返回一个整型数 int (*pfun)(int n)

H,一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数 int (*pfun[10])(int n)

编程题

1,实现一个单链表的翻转

2,用一把刀切一个半径为r的圆,一刀切成两份,两部分面积之比为a:b,用你觉得最快的方法,编程求圆上那条割线多长?

3,假设在人人网上,你的所有初中同学和你都是好友关系,你的大学同学喝你都是好友关系,但是你的初中同学喝大学同学之间并没有任何好友关系,那么你就是你的初中朋友圈和大学朋友圈两个好友圈子的关键人物,现在给你10W个用户之间的关系图谱找出这10W个用户里面所有的关键人物,说出想法即可,也可就此类问题扩展开谈。

你可能感兴趣的:(笔试题)