20230819 C++ 笔试复盘(选择题)

参考:https://chat.openai.com/

1. HTTP选项中,下列哪个选项用于指定缓存的过期时间?

A Cache-Control

Cache-Control 提供了更多的灵活性,可以指定缓存的行为、过期时间、重新验证等,并且可以使用相对时间(时间段)来指定过期时间。

B Expires

C ETag

D Last-Modified

Cache-Control:缓存过期的相对时间(优先级较高)。

Expires:缓存过期的绝对时间。

ETag:资源版本唯一标识。

Last-Modified:上次变更时间。

HTTP缓存步骤:

        →强缓存(Cache-Control/Expires)

        →协商缓存(与服务器协商是否能使用缓存,Last-Modified/ETag)

        →读服务器

参考:http缓存图解_http last-modified_烧烤不配啤酒的博客-CSDN博客

2. 下面关于C++中类的说法正确的是:

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

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

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

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

3. C++中,下面关于纯虚函数的说法正确的是:

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

B 纯虚函数不可以在子类中被重载

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

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

5. 下面关于C++标准库中vector容器的正确说法是:

A vector在中间删除或者删除元素会非常耗时

B vector不支持快速随机访问,增删速度较快

C vector将元素保存在连续的内存空间中

D vector每次添加一个元素都要申请额外的空间

6. 下面关于Linux进程间通信的说法,错误的是

A 消息队列是一个同步进程间通信机制

异步的。大姐你在干啥这题都能错???

B Linux中的进程间通信机制在不同计算机上不能进行

不是不能进行,是这个通信机制不足以完成。还需要网络协议栈。

C 在Linux中,进程可以通过管道、信号、共享内存等方式进行通信

D 管道是一种单向进程间通信机制

7. 下面关于InnoDB存储引擎的Cardinality错误的是

A Cardinality统计信息的更新发生在SELECT和UPDATE中

INSERT UPDATE DELETE

B 在InnoDB v1.2之前的版本,设置参数innodb_stats_sample_pages用来配置统计Cardinality时每次采样页的数量,默认值为8

C Cardinality表示索引中不重复记录数量的预估值

D 在InnoDB引擎内部有一个计数器stat_modified_counter来表示发生变化的次数

9. 下面关于Linux中操作文件属性和权限相关的命令说法错误的是:

A chmod用于改变文件权限

B chgrp用于改变文件所属群组

C chown用于改变文件拥有者

D chown只能改变文件拥有者,不能改变所属群组

chown [新拥有者]:[新所属群组] 文件名

10. 下面关于C++中函数指针的说法正确的是

A 要获取函数的地址,只需要使用函数名即可

B 函数和普通的数据一样也有地址,函数的地址是存储其机器语言代码的内存的开始地址

C 假设pf是函数指针,则pf() (* pf)()都可以调用该函数指针所指向的函数

D 声明指向函数的指针时,必须指定指针指向的函数类型

11.若以{2,4,6,8,10}为叶子节点的权值,构造一棵哈夫曼树,则其带权路径的长度为?

参考:哈夫曼树带权路径长度(WPL)计算 - 知乎

12. C++中,下面选项中可能出现内存泄漏的是:

A 句柄资源使用后没有释放

在操作系统和编程中,句柄常用于管理各种资源,如内存块、文件、图形界面控件、网络连接等。使用句柄的好处之一是可以隐藏底层资源的细节,从而提供更高层次的抽象和安全性。另外,句柄还可以用于实现资源共享、安全性控制和资源回收等功能。

在不同的操作系统和编程环境中,句柄的实现方式和名称可能有所不同。例如,在Windows操作系统中,句柄通常是一个整数,用于标识内核对象或图形界面控件。在类Unix系统中,句柄可能是指向数据结构的指针。

B 子类继承父类时,父类析构函数不是虚函数

如果父类的析构函数不是虚函数,则不会触发动态绑定(多态),结果就是只会调用父类的析构函数,而不会调用子类的析构函数,从而可能导致子类的内存泄漏(如果子类析构函数中存在free delete 等释放内存操作时)

参考 为什么父类析构函数必须为虚函数_父类析构函数不是虚函数会怎么样_越甲八千的博客-CSDN博客

C new和malloc申请的资源使用后,没有用delete和free释放

D 程序中存在循环引用的情况

14.操作系统中,PV操作用于管理资源的访问和同步,正确的选项是:

A P操作用于申请资源,V操作用于释放资源

B P操作用于释放资源,V操作用于申请资源

C P操作用于调整资源的数量,V操作用于申请资源

D P操作用于申请资源,V操作用于调整资源的数量

18. TCP协议的状态中,FIN_WAIT_1状态表示:

A  客户端已发送FIN包,等待服务器的ACK包

B 客户端已经收到服务器的FIN包,等待关闭本地连接

C 服务器已经发送FIN包,等待客户端的ACK包

D 服务器已经收到客户端的FIN包,等待关闭本地连接

图片参考:TCP的三次握手与四次挥手 - 简书 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值