自学内容网 自学内容网

后端开发刷题 | 笔试

1.关于C++的纯虚函数,下列说法错误的是()

A

纯虚函数不能实例化对象,拥有纯虚函数的类是抽象类

B

纯虚函数不能做指针和引用

C

纯虚函数声明的最后面“=0”并不表示函数返回值为0,它只起形式上的作用

D

虚函数和纯虚函数都可以在子类中被重载,以多态的形式被调用

正确答案:B

解析:纯虚函数可以做指针和引用,B选项错误。

2.在C++中,关于以下代码输出正确的是()

1

2

3

4

5

6

7

8

9

10

#include <iostream>

using namespace std;

int main()

{

    int a , b , c;

    a = 0 , b = 1 , c = 3;

    a = ++b <= a || a+b != c;

    cout << a << "," << b;

    return 0;

}

A

1,2

B

1,1

C

0,2

D

0,1

正确答案:A

解析:

本题主要考察运算符的优先级。

++的优先级高于 <=,因此b自增后值为2;<=的优先级高于|| 因此先进行2<=0的判断,结果为false。

+和!=的优先级高于||,因此计算a+b != c的结果,结果为true。

最后false || true后将结果赋值给int变量a,因此a的值为1。

综上所述,正确答案为A选项。

运算符优先级参考记忆:C语言运算符优先级(超详细)-CSDN博客

3.在 MySQL 中,有两张使用以下命令创建的数据库表:

create table T(a INT, b char);

有几条查询语句如下所示:

语句1:

select a, b from T where a = 10

union all

select a, b from T where c = "20"

语句2:

select a, b from T where a = 10

union

select a, b from T where c = "20"

语句3:

select a, b from T group by a, b

语句4:

select a, b from T group by a, b order by null;

以下说法正确的是?

A

语句2比语句1更加高效。

B

语句2与语句1不会有效率上的差异。

C

语句4比语句3更加高效。

D

语句4与语句3不会有效率上的差异。

正确答案:C

解析:

MySQL 通过创建并填充临时表的方式来执行union查询。除非确实要消除重复的行,否则建议使用union all。原因在于如果没有all这个关键词,MySQL会给临时表加上distinct选项,这会导致对整个临时表的数据做唯一性校验,这样做的消耗相当高。因此语句1比语句2的效率更高,A、B选项均错误。

默认情况MySQL 会对GROUP BY分组的所有值进行排序,如 “GROUP BY col1,col2,....;” 查询的方法如同在查询中指定 “ORDER BY col1,col2,...;” 如果显式包括一个包含相同的列的 ORDER BY子句,MySQL 可以毫不减速地对它进行优化,尽管仍然进行排序。因此,如果查询包括 GROUP BY 但你并不想对分组的值进行排序,你可以指定 ORDER BY NULL禁止排序,因此语句4比语句3更高效,C选项正确。

4.在牛牛系统中使用请求分段存储管理方式,当进程在主存中没有找到需要访问的页面且内存中没有空闲物理块,这时就需要进行页面置换等操作,下列哪个选项的处理顺序是正确的()

A

决定换出页--页面调入-页面调出

B

决定换出页--页面调出-页面调入

C

缺页中断-决定换出页-页面调入-页面调出

D

缺页中断-决定换出页-页面调出-页面调入

正确答案:D

解析:

考查操作系统的内存管理。

根据缺页中断的处理流程,产生缺页中断后,首先去内存寻找空闲物理块,若内存没有空闲物理块,使用相应的页面置换算法决定淘汰页面,然后调出该淘汰页面,最后调入该进程需要访问的页面,所以答案选D。

5.下列关于 Java 中 volatile 关键字的说法错误的是()

A

volatile 关键字修饰的共享变量是线程安全的

B

volatile 关键字可以保证被修饰变量在运算时不会进行指令重排

C

volatile 底层实现遵循 happens-before 原则

D

volatile 关键字修饰的变量被修改之前会从主存中读取最新的值覆盖掉cpu缓存

正确答案:A

解析:

volatile 关键字并不能保证线程安全。

6.HTTP协议响应码的表示形式是()

A

二进制数字

B

十六进制数字

C

十进制数字

D

八进制数字

正确答案:C

解析:

HTTP协议的响应码由三个十进制数字组成,第一个数字为1~5表示5种状态,因此选C。

7.Java中,下列赋值语句错误的是()

A

double a = 1.0;

B

double a = 1;

C

float a = 1;

D

float a = 1.0;

正确答案:D

8.TCP“三次握手”建立连接过程中,所有的标志位至少会有多少次被置为1?

A

1

B

2

C

3

D

4

正确答案:D

解析:

TCP 传输连接的建立采用“3 次握手”的方式,包括 3 个基本的步骤:A 发送一个请求连接报文给B(SYN 标志置为 1),B 发回确认(SYN+ACK 标志置为 1),A 再加以确认(ACK 标志置为1)。因此选D。

9.MySQL支持分布式事务,以下关于分布式事务选项说法正确的是()

A

事务资源必须是关系型数据库系统

B

使用InnoDB存储引擎时,在分布式事务下,事务的隔离级别必须是串行化(SERIALIZEABLE)

C

XA事务不允许不同数据库之间的分布式事务

D

其余选项都正确

正确答案:B

解析:

分布式事务中,事务资源可以是关系型数据库也可以是其他类型的资源,XA事务允许不同数据库之间的分布式事务,比如一台服务器是MySQL,另一台是oracle

10.下面关于 C++ 中 string 类的说法错误的是()

A

string类中的 sort() 方法可以对字符串按照字典顺序排序

B

string类相比于传统的字符数组可以更加简单和安全地进行字符串操作

C

string类定义在头文件<string>中,可以使用标准命名空间std来访问它

D

string类提供了一组重载的运算符来方便地执行字符串的拼接、比较等操作

正确答案:A

解析:C++ string类中没有自带的排序方法,但是可以使用算法库中的sort()方法来进行排序。可以使用std::sort()方法对string类型的字符串进行排序,sort()方法默认按照字典序进行排序。

11.

Linux 中,执行以下命令的结果是()

1

dirname /etc/sysconfig/network

A

/etc/sysconfig/network

B

sysconfig/network

C

/etc/sysconfig

D

network

正确答案:C

解析:

dirname 在一个路径中取目录名

如 dirname /etc/sysconfig/network

结果为 /etc/sysconfig


原文地址:https://blog.csdn.net/jingling555/article/details/140645779

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!