C++程序员应聘测试题目

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 138 收藏 0 点赞 0 评论 0

【一】问答题(82分)

  1. 引用和指针的区别?(4分)
  2. C++程序有哪几种内存区域?(4分)
  3. 阐述C++中多态的实现机制?(4分)
  4. 什么是函数的调用约定?列举三种调用约定的方式(4分)
  5. assert宏有什么作用?大量使用assert会对编译后的release版程序大小有影响吗?(4分)
  6. 阐述windows的消息机制?SendMessage和PostMessage的区别?(4分)
  7. MFC如何实现消息映射的?(4分)
  8. CObject的作用是什么?CCmdTarget呢?(4分)
  9. 什么是动态创建?阐述MFC的动态创建机制?(4分)
  10. 创建线程的API函数是什么?假设hThread是个线程句柄,下面这条语句的作用是什么?

        WaitForSingleObject(hThread, INFINITE); (4分)

  1. 列出4种线程之间同步的方式?比较它们之间主要异同点?(4分)
  2. TCP和UDP协议的区别?基于TCP的数据传输过程中,发送端在计时器的时限内未受到接收方的确认,那么原因可能是什么?(4分)
  3. arp协议有什么作用?什么是arp高速缓存?(4分)
  4. 基于流的协议传输数据是无边界保护的,基于数据报的协议是有边界保护的,怎么理解?(4分)
  5. 路由器和交换机的区别?(2分)
  6. IP层的作用是什么?IP协议数据报首部固定长度是多少字节?(4分)
  7. 子网掩码的作用是什么?主机A的IP地址是128.30.33.138,子网掩码是255.255.255.128,那么主机A所在的子网网络地址是多少?(4分)
  8. 数据库的触发器是什么?SQL-SERVER中按照触发的时机不同分成哪两种触发器?(4分)
  9. 有三张表 学生信息表(Student):学号(S#),姓名(SNAME),性别(SEX)

        课程表(Course):课程编号(C#),课程名称(CNAME)

        选课表(SC):学号(S#),课程编号(C#),成绩(SCORE)

  1. 请指出每张表的主键和选课表的外键?(2分)
  2. 写出SQL语句输出没有选修课程的学生的学号,姓名(最好使用子查询)(2分)
  3. 写出SQL语句输出各科成绩平均分高于60分的学生的学号,平均分(2分)

 

  1. 写一条linux shell命令将列出当前目录下所有文件的信息并保存到文件fileInfo.data中。(2分)
  2. 写一条linux shell命令将当前目录下的文件test的权限改成所有用户都可以读写以及执行。(2分)
  3. 写一条linux shell命令查找当前目录下的文件test中包含linux字符串的所有行。(2分)

 

 

 

 

【二】编程题(10分)

  1. 已知链表的节点类型

struct node

{

    int data;            //数据域

    node * next;     //指针域

};

表示链表的结构体类型为:

struct list

{

    node* pHead //头节点

};

请实现如下原型的反转(reverse)一个链表的功能函数

void Reverse_List(list* pList);

 

 

  1. 已知二维数组int a[5][8],请用一个一层循环初始化数组所有元素值为0

 

【三】下面程序或语句有什么错误,并解释为什么?(8分)

1.实现交换两个整数的函数

void swap(int *pa, int *pb)

{

    int* temp;

*temp = *pa;

    *pa = *pb;

    *pb = *temp;

}

 

2.

void main()

{

    int a[3][3] =

    {

        {1, 1},

        {1, 1},

        {1, 1}

    };

 

    for (int i = 0; i<3; i++)

        for (int j=0; j<3; j++)

            a[j][i] = i*j;

}

评论列表
文章目录