1.Internet上一个B类网络的子网掩码为255.255.252.0,则理论上每个子网的主机数最多可以有( )台。
- A、 256
- B、 1022
- C、 2048
- D、 4096
A类表示的地址范围是1.0.0.0到127.255.255.255;B类表示的地址范围是128.0.0.0到191.255.255.255;C类表示的地址范围是192.0.0.0到223.255.255.255。子网掩码常用点分十进制表示,还可以用CIDR的网络前缀法表示掩码,即“/<网络地址位数>;”。如138.96.0.0/16表示B类网络138.96.0.0的子网掩码为255.255.0.0。
因为是B类地址,所以前16位是网络地址,后16位是主机地址(在外网看来)。
子网掩码255.255.252.0对应的二进制为11111111.11111111.11111100.00000000,加粗部分为网络位,后10位可作为主机号范围,但是要除去全0的网络号、全1的广播号,因此答案是2^10-2=1022
2.当使用TCP协议编程时,下列问题哪个是必须由程序员考虑和处理的?
- A、 乱序数据包的重传
- B、 数据传输过程中的纠错
- C、 网络拥塞处理
- D、 发送数据的格式和应用层协议
TCP协议的主要功能是完成对数据报的确认、流量控制和网络拥塞;自动检测数据报,并提供错误重发的功能 搜索 ;将多条路径传送的数据报按照原来的顺序进行排列,并对重复数据进行择取;控制超时重发,自动调整超时值;提供自动恢复丢失数据的功能。因此,除TCP功能以外需要程序员考虑的为发送数据的格式及应用层协议。
3.系统当前已经加载的所有文件系统在_________文件中得到反映。
- A、 /usr/sbin/cfdisk
- B、 /sbin/fdisk
- C、 /etc/mtab
- D、 /etc/fstab
/etc/mtab文件的作用:记载的是现在系统已经装载的文件系统,包括操作系统建立的虚拟文件等
而/etc/fstab是系统准备装载的 etc/fstab文件的作用 :记录了计算机上硬盘分区的相关信息,启动 Linux 的时候,检查分区的 fsck 命令,和挂载分区的 mount 命令,都需要 fstab 中的信息,来正确的检查和挂载硬盘。
4.在Linux中查看ARP缓存记录的命令是?
- A、 “arp –a”
- B、 “arp –d”
- C、 “arp -L”
- D、 “arp –D”
该命令用于操作主机的arp缓存,它可以显示arp缓存中的所有条目、删除指定的条目或者添加静态的ip地址与MAC地址对应关系。
arp [参数] [IP]
-a显示arp缓存的所有条目,主机位可选参数
-H指定arp指令使用的地址类型
-d从arp缓存中删除指定主机的arp条目
-D使用指定接口的硬件地址
-e以linux的显示风格显示arp缓存中的条目
-i指定要操作arp缓存的网络接口
-n以数字方式显示arp缓存中的条目
-v显示详细的arp缓存条目,包括缓存条目的统计信息
-f设置主机的IP地址与MAC地址的静态映射
5.在Linux系统中, 哪个文件你可以存储用于创建用户目录的系统用户默认文件?
- A、 /usr/tmp
- B、 /etc/default
- C、 /etc/skel
- D、 /etc/users
6.在一般包含n个节点的二叉搜索树中查找的最差时间复杂度是?
- A、 O(logn)
- B、 O(n)
- C、 O(n2)
- D、 O(1)
7.栈是先进后出的数据结构。给定一个大小为3的初始状态为空的栈,已知一组数据经过这个栈后,最终的数据顺序依次为:1 3 2 4 ,问原始的进栈数据不可能是以下的那组?
- A、 2 3 1 4
- B、 1 4 2 3
- C、 4 2 3 1
- D、 3 1 2 4
8.若PAT是一个类,则程序运行时,语句“PAT(*ad)[3];”调用PAT的构造函数的次数是( )。
- A、 2
- B、 3
- C、 0
- D、 1
这里只是声明了指针,虽然指针指向的数组有三个PAT对象,但是没有实例化其中的对象,所以并没有调用构造函数。
9.以下输出正确的是()
#include <iostream>
using namespace std;
class Base
{
public:
void virtual Func()
{
cout << "Base" << " ";
}
};
class Derived : public Base
{
public:
void virtual Func()
{
cout << "Derived " << " ";
}
};
int main()
{
Base *pBase = new Base();
pBase->Func();
Derived *pDerived = (Derived *)pBase;
pDerived->Func();
delete pBase;
pDerived = new Derived();
pBase = pDerived;
pBase->Func();
delete pDerived;
return 0;
}
- A、 Base Derived Base
- B、 Base Base Derived
- C、 Base Derived Derived
- D、 Derived Base Derived
BASE 非继承不触发虚函数
BASE 继承,触发虚函数
DERIVED 非继承不触发虚函数
10.实现一个线程安全的栈