文章目录
- C/C++笔试练习
- 选择部分
- (1)DNS设置文件
- (2)应用层
- (3)Dos攻击
- (4)DNS服务
- (5)DNS
- (6)子网划分
- (7)http状态
- (8)路由设置
- (9)TCP连接
- (10)HTTP状态码
- 编程题 day33
- 剪花布条
- 客似云来
C/C++笔试练习
选择部分
(1)DNS设置文件
/etc/resolv.conf的用途是
A.邮件服务的设置文件
B.DHCP的设置文件
C.DNS解析的设置文件
D.网络路由的设置文件
答案:C
(2)应用层
能够PING通同网段的节点,但却如PING不通其他网段的所有节点的最可能的原因()
A.本机网关设置错误
B.本机没有正确设置DNS
C.对方运行的是不同的操作系统
D.二层交换机故障
答案:A
A:ping是TCP/IP协议族的一部分,使用ICMP协议,ICMP底层使用IP协议。主要是用来检测网络是否通畅。如果要ping其他网段,则需要设置网关。
B:和DNS没有关系,DNS设置错会影响访问公网服务器的域名,而不会影响内部子设备是否ping通。
C:ping命令是跨操作系统的,windows主机能够ping通Linux主机。
D:二层交换机如果出现故障那么同网段主机则不会ping通。
(3)Dos攻击
常被提及的Dos攻击的是以下的行为()
A.侵入目标服务器,获取重要数据
B.采用穷举的方式获得登录账号
C.发送无效的请求,使得正确的请求无法被响应
D.利用微软DOS从操作系统图的各种漏洞达到攻击的目的
答案:C
Dos攻击被称之为“拒绝服务攻击”,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络宽带攻击和连通性攻击。
Dos攻击中并不包括侵入目标服务器或目标网络设备。
Dos是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源。
(4)DNS服务
以下不是DNS服务的作用的是()
A.将主机名翻译到指定的IP地址
B.将IP地址反解成主机名
C.解析特定类型的服务的地址,如MX,NS
D.将IP解析成MAC地址
答案:D
D选项:IP地址解析成为MAC地址,这个是ARP协议, 并且ARP协议是向子网内主机进行广播ARP请求,目标主机收到之后,回复ARP应答。
(5)DNS
在小红书公司的局域网中,署队长的私人电脑可以查看到的同事的电脑,也成功了登录了QQ,但无法访问到公司的站点"http://www.xiaohongshu.com”,请协助署队长查找最有可能出现的问题的地方是()
A.UDP
B.DHCP
C.DNS
D.HTTP
答案:C
1.可以在私网当中查看到同事的电脑,说明在局域网内通信没有问题。
2.能成功登录QQ,说明访问QQ服务器没有问题,换言之,访问外网(互联网)是通的。
3.但是访问不了一个特定的域名,所以,问题出在了域名转换成为ip的过程,所以,出问题的点在于DNS。
(6)子网划分
将一个C类网络划分20个子网,最适合的子网掩码是多少()
A.255.255.255.240
B. 255.255.255.248
C.255.255.255.252
D.255.255.255.255
答案:B
A类网络默认的子网掩码: 255.0.0.0
B类网络默认的子网掩码:255.255.0.0
C类网络默认的子网掩码: 255.255.255.0
2 ^ 4<20<2 ^ 5
如果划分20个子网,需要把子网掩码向后在使用5个比特位
255.255.255.xxxxx000,即255.255.255.11111000
11111000是二进制,将它转换成十进制是(0x2^ 0)+(0x2^ 1)+(0x2^ 2)+(1x2^ 3)+(1x2^ 4)+(1x2^ 5)+(1x2^ 6)+(1x2^ 7)=0+0+0+8+16+32+64+128=248所以子网掩码是255.255.255.248
(7)http状态
以下哪种http状态下,浏览器会产生两次http请求()
A.400
B. 404
C.302
D.304
答案:C
302:临时性重定向(请求的资源被分配了新的URL,希望本次访问使用新的URL);由服务端告知浏览器资源在那个新的URL上,浏览器接收到应答后,则直接反问新的URL,所以,会产生两次HTTP请求
304:客户端发送附带条件请求时,请求满足条件的情况下,服务器端允许访问资源并返回改状态码;
400:请求报文中存在语法错误;
404:服务器上无法找到请求资源,
(8)路由设置
局域网的网络地址192.168.1.0/24,局域网络连接其他网络的网关地址是192.168.1.1。主机192.168.1.20访问172.16.1.0/24网络时,其路由设置正确的是()
A. route add default 192.168.1.0 netmask 172.16.1.1 metric 1
B. route add -net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1
C. route add -net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1
D. route add-net 172.16.1.0 gw 172.16.1.1 netmask 255.255.255.0 metric 1
答案:B
(1)路由信息组成部分:1.目的主机的网络地址 2.下一个跳转的地址 3.子网掩码
(2)-net后面跟的是目标网络,gw就是gateway(网关入口),表示从哪个网关到哪个目标网络
所以, 如题,因为主机要访问172.16.1.0/24网络,那么目标网络就是172.16.1.0/24。
因此-net后面跟的就是172.16.1.0/24.排除AC选项。
因为gw表示网关入口,那么gw后面跟的就是网关地址,即192.168.1.1.因此选B。
(9)TCP连接
建立一条TCP连接需要()个步骤,关闭一个TCP连接需要()个步骤
A.4,3
B. 4,4
C.3,4
D.3,3
答案:C
(10)HTTP状态码
以下关于HTTP状态码的描述,错误的是()
A.100,代表客户端应当继续发送请求
B. 2xx,代表请求已成功被服务器接收、理解、并接受
C.301,代表被请求的资源已永久移动到新位置,用于重定向
D.4xx,代表服务器在处理请求的过程中有错误或者异常状态发生
答案:D
编程题 day33
剪花布条
剪花布条
C语言可以通过strstr函数找,用STL的string库可以通过find函数找,找到以后跳过一个T串的长度。例如:在abcacbcbcabscbc中找cbc,第一次找到了这个位置:abcacbcbcabscbc,找到这个下标后,会跳过整体cbc,也就是从这个位置继续找:abcacbcbcabscbc,否则如果你只跳一个字符,会导致cbcbc会被算成2次,而按照本题的题意,应该算一次。
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
int cut(string s, string t)
{
int i = s.find(t);
if (i == string::npos)
{
return 0;
}
return 1 + cut(s.substr(i + t.size()), t);
}
int main()
{
string s, t;
while (cin >> s >> t)
{
int ans = cut(s, t);
printf("%d\n", ans);
}
}
客似云来
客似云来
老样子,先准备好斐波那契的数组,然后遍历那一段数组,求出他们的和即可。而第80项斐波那契数列是一个17位数,所以需要用long long来解决问题。
然而这个题还有另一个更有意思的思路。斐波那契数列的的前n项和其实是有一个很有意思的公式,公式推导在这里https://blog.csdn.net/ftx456789/article/details/82348742,根据文章我们能知道,斐波那契数列的前n项和,就是第n+2项的值减1,例如前10项的和143,就是第12项的144 - 1的结果。所以,我们如果我们要第n项到第m项的和,那么只要求出前m项的和,减去前n - 1项的和,就能得到结果了。例如要求第3项到第5项的和,我们就只需要用前5项的和减去前2项的和,而公式中的减一在这个过程中抵消掉了,也就是结果直接就是第7项的值减去第4项的值,这样我们在操作的时候就更简单了。就数值而言,第7项是13,第4项是3,差值是10,而2+3+5也是10,结果是正确的。
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
long long fib[80];
fib[0] = 1;
fib[1] = 1;
for (int i = 2; i < 80; i++)
{
fib[i] = fib[i - 1] + fib[i - 2];
}
int from, to;
while (cin >> from >> to)
{
long long count = 0;
for (int i = from - 1; i <= to - 1; ++i)
{
count += fib[i];
}
printf("%lld\n", count);
}
}