迅雷2016研发工程师笔试题

2、以下关于指针的说法,正确的是()

A  int *const p与int const *p等价
B  const int *p与int *const p等价
C  const int *p与int const *p等价
D  int *p[10]与int (*p)[10]等价


答案:C

解析:A项前者表明指针变量p是const型,它的指向不可修改,但是指向的对象可以修改;后者表明指向的对象是const型,不可以修改,但是指针p的指向可以修改。B项 const int * p 等价于 int const * p,由A项知B项错。D项前者表示指针数组,有10个元素,每个都是指向整型变量的指针;后者表示行指针,指向一行有10个元素的指针,其类型与二维数组名相同,例如可以这样使用:
int a[2][10];
int (*p)[10]=a; //p指向数组a的首行。


3、以下不是RDBMS的是()

A  mysql
B  postgreSql
C  oracle
D  hadoop


答案:D

解析:RDBMS即关系数据库管理系统(Relational Database Management System),是将数据组织为相关的行和列的系统,而管理关系数据库的计算机软件就是关系数据库管理系统,比如MS SQL Server, IBM DB2, Oracle, MySQL 以及Microsoft Access,而hadoop是分布式数据库。


4、假设磁盘上的物理块大小为512字节,一个逻辑记录长度为80个字符。若采用记录成组技术存储若干记录,当块因子为4时,磁盘空间的利用率可达到()

A  16%
B  33%
C  63%
D  91%


答案:C

解析:磁盘空间利用率的计算公式为 80*4/512=62.5%。


6、

class P
{
private:
    int ival;
public:
    P();
    ~P();
    int GetVal(){
        return ival;
    };
    virtual int SetVal(int val)
    {
        ival=val;
    };
};
在32位编译器下sizof(P)为()

A  4
B  8
C  12
D  16


答案:B

解析:

(1).类的大小为类的非静态成员数据的类型大小之和,也就是说静态成员数据不作考虑。

(2).普通成员函数与sizeof无关。

(3).虚函数由于要维护在虚函数表,所以要占据一个指针大小,也就是4字节。

(4).类的总大小也遵守类似class字节对齐的,调整规则。

本题中,int ival占4个字节,同时virtualintSetVal(intval)占用4个字节,一共是占用8个字节,选B。


7、对数据库第二范式的理解正确的是()

A  数据库表的每一列都是不可分割的原子数据项
B  在1NF基础上,任何非主属性不依赖于其它非主属性
C  在1NF基础上,非码属性必须完全依赖与码
D  以上说法都不正确


答案:C

解析:A项是第一范式的主要内容,虽然第二范式也必须满足它,但该项不是第二范式的主要内容。第二范式(2NF)要求实体的属性完全依赖于主关键字,但并没有要求非主属性之间的关系。举个例子,假定选课关系表为SelectCourse(学号, 姓名, 年龄, 课程名称, 成绩, 学分),关键字为组合关键字(学号, 课程名称),因为存在如下决定关系:

(学号, 课程名称) → (姓名, 年龄, 成绩, 学分)
这个数据库表不满足第二范式,因为存在如下决定关系:
(学号) → (姓名, 年龄)
即存在组合关键字中的字段决定非关键字的情况。

10、以下不是double compare(int,int)的重载函数的是()

A  int compare(double,double)
B  double compare(double,double)
C  double compare(double,int)
D  int compare(int,int)


答案:D

解析:

a. 成员函数被重载的特征:

1 )相同的范围(在同一个类中);

2 )函数名字相同;

3 )参数不同;

4 virtual 关键字可有可无。

b. 覆盖是指派生类函数覆盖基类函数,特征是:

1 )不同的范围(分别位于派生类与基类);

2 )函数名字相同;

3 )参数相同;

4 )基类函数必须有 virtual 关键字。

c.“ 隐藏 是指派生类的函数屏蔽了与其同名的基类函数,规则如下:

1 )如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无 virtual 关键字,基类的函数将被隐藏(注意别与重载混淆)。

2 )如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有 virtual 关键字。此时,基类的函数被隐藏(注意别与覆盖混淆) 


11、将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是()

A  2n
B  2n-1
C  n-1
D  n


答案:D

解析:假如两个有序表的长度分别为 m 和 n,则最少比较次数为 min(m,n),最多比较次数为 m+n-1。


13、若一个算法的时间复杂度用T(n)表示,其中n的含义是()

A  问题规模
B  语句条数
C  循环层数
D  函数数量



答案:A
解析:注意本题中给出的是T(n),而不是O(n),T(n)表示n的多项式,故n表示问题规模。


14、以下关于纯虚函数的说法,正确的是()

A  声明纯虚函数的类不能实例化
B  声明纯虚函数的类成虚基类
C  子类必须实现基类的
D  纯虚函数必须是空函数


答案:A

解析:声明纯虚函数的类不能创建对象,即不能实例化;声明纯虚函数的类可以叫做抽象类,但和虚基类是不同的概念;除非在派生类中完全实现基类中所有的的纯虚函数,否则,派生类也变成了抽象类,不能实例化对象,所以C项错;纯虚函数可以有函数体,但没有必要这样做,所以D项也不对。


16、(a+b)*(c-d)+e的后缀表达式为()

A  abcde+*-+
B  ab+*cd-e+
C  +*+ab-cde
D  ab+cd-*e+


答案:D

解析:后缀表达式的计算机求值过程为,从左至右扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(次顶元素 op 栈顶元素),并将结果入栈;重复上述过程直到表达式最右端,最后运算得出的值即为表达式的结果。


18、索引字段值不唯一,应该选择的索引类型为()

A  普通索引
B  候选索引
C  主索引
D  唯一索引


答案:A

解析:索引类型分类:

①主索引:主索引是一种只能在数据库表中建立不能在自由表中建立的索引。在指定的字段或表达式中,主索引的关键字绝对不允许有重复值。

②候选索引:和主索引类似,它的值也 不允许在指定的字段或表达式中重复。一个表中可以有多个候选索引。

③唯一索引:唯一索引允许关键字取重复的值。当有重复值 出现时,索引文件只保存重复值的第1次出现。提供唯一索引主要是为了兼容早期的版本。

④普通索引:普通索引允许关键字段有相同值。在一对 多关系的多方,可以使用普通索引。



23、下面说法正确的是()


A  一个空类默认一定生成构造函数,拷贝构造函数,赋值操作符,引用操作符,析构函数
B  可以有多个析构函数
C  析构函数可以为virtual,可以被重载
D  类的构造函数如果都不是public访问属性,则类的实例无法创建


答案:A
    解析:析构函数没有参数,也没有返回值,而且不能重载。一个类中只能有一个析构函数,当撤消对象时,编译系统会自动地调用析构函数,若有多个析构函数,则系统不知道调用哪一个。析构函数可以为virtual,但构造函数不可以。另外,单例模式可以否定D选项。
    
    • 0
      点赞
    • 1
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值