【笔试题】CVTE C++开发岗笔试题7.29

来源:互联网 发布:福建公安便民网络 编辑:程序博客网 时间:2024/05/29 09:31

cvte的笔试题 一如既往,20道不定项选择题,2道编程题。
感觉题不是特别难,都是基础题,

涉及的范围
C++: C++11,sizeof,
数据结构:二叉树,排序算法,二分查找,最短路径(Dijkstra算法),
操作系统:cp命令,产生死锁的条件,文件权限,虚存管理和实存管理,
网络:OSI七层模型,数据链路层的设备,

大概记得就是这么多了。

20道选择题

1、sizeof 是C语言中计算字节数的运算符,在程序编译时运行。
2、 C++11允许声明constexpr类型来由编译器检验变量的值是否是一个常量表达式。声明为constexpr的必须是一个常量,并且只能用常量或者常量表达式来初始化,
constexpr变量是一个由常数表达式初始化的const变量。

3、cp命令:
cp -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
cp -f 或 –force 强行复制文件或目录, 不论目的文件或目录是否已经存在;
cp -R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
cp -s:对源文件建立符号连接,而非复制文件;
cp -l:对源文件建立硬连接,而非复制文件;

4、产生死锁的四个必要条件
互斥使用资源、请求和保持资源、不可抢夺资源和循环等待资源

5、虚存管理和实存管理
实存管理:必须把进程完整的装入内存;
虚存管理:运行程序执行过程中逐步装入;

6、OSI各层对应的设备
物理层:集线器,网线,中继器
数据链路层:交换机,网桥,网卡
网络层:路由器
传输层:网关

7、排序:
下列排序算法中()排序在一趟结束后不一定能选出一个元素放在其最终位置上

A,选择排序每次选择一个元素放在其最终位置,直道序列有序为止
B,冒泡排序每一趟都将子序列中最小的元素放在子序列的首位,也就是元素的最终位置
D,堆排序,以最小堆为例,堆顶元素是所有元素中最小的,可以一次性放在最终位置

8、图的最短路径

编程题

2道编程题 很简单,但是考虑的因素太多,

1、给一个数组,求数组中第n小的正偶数
unsigned int GetNum(int *a, int legth,int n);
举例:
{4,1, -1,3} 4,1,返回2。
{1,2,3,5,8,10,} 6, 2, 返回6。

注:考虑 a为空,a的大小与length不同,
n可能为负数,
正偶数,可能给的字符中都小于0,返回0。

更改 2
Md,这道题 我理解错题意,写错了 。
应该设置一个变量,从0开始,每次+2,累加到找到第一个偶数,看是否累加次数是否够n

2、判断字符串拼接形式是否相同
bool isSame(const string& s, const string& t);
举例:
look feed 返回true
look find 返回false
loo air 返回false