笔试强训day39

一、选择题

1、/etc/resolv.conf的用途是
A 邮件服务的设置文件
B DHCP的设置文件
C DNS解析的设置文件
D 网络路由的设置文件
他的回答: C (正确)
正确答案: C
在这里插入图片描述

2、能够PING通同网段的节点,但却如PING不通其他网段的所有节点的最可能的原因
A 本机网关设置错误
B 本机没有正确设置DNS
C 对方运行的是不同的操作系统
D 二层交换机故障
他的回答: B (错误)
正确答案: A
解题分析
A:ping是TCP/IP协议族的一部分,使用ICMP协议,ICMP底层使用IP协议。主要是用来检测网络是否通畅。如果要ping其他网段,则需要设置网关。
B:和DNS没有关系,DNS设置错会影响访问公网服务器的域名,而不会影响内部子设备是否ping通
C:ping命令是跨操作系统的,windows主机能够ping通Linux主机
D:二层交换机如果出现故障那么同网段主机则不会ping通
3、常被提及的Dos攻击的是以下的行为;
A 侵入目标服务器,获取重要数据
B 采用穷举的方式获得登录账号
C 发送无效的请求,使得正确的请求无法被响应
D 利用微软DOS从操作系统图的各种漏洞达到攻击的目的
他的回答: D (错误)
正确答案:C
解题分析
Dos攻击被称之为“拒绝服务攻击”,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络宽带攻击和连通性攻击。
Dos攻击中并不包括侵入目标服务器或目标网络设备
Dos是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源
4、以下不是DNS服务的作用的是:
A 将主机名翻译到指定的IP地址
B 将IP地址反解成主机名
C 解析特定类型的服务的地址,如MX,NS
D 将IP解析成MAC地址
他的回答: B (错误)
正确答案: D
解题分析
D选项:IP地址解析成为MAC地址,这个是ARP协议,并且ARP协议是向子网内主机进行广播ARP请求,目标主机收到之后,回复ARP应答。
5、在小红书公司的局域网中,署队长的私人电脑可以查看到的同事的电脑,也成功了登录了QQ,但无法访问到公司的站点"http://www.xiaohongshu.com”,请协助
署队长查找最有可能出现的问题的地方是?

A UDP
B DHCP
C DNS
D HTTP
E 浏览器
他的回答: D (错误)
正确答案: 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
他的回答: A (错误)
正确答案: B
解题分析
A类网络默认的子网掩码:255.0.0.0
B类网络默认的子网掩码:255255.0.0
C类网络默认的子网掩码:255255255.0

24<20<25
如果划分20个子网,需要把子网掩码向后在使用5个比特位
255.255.255xxxxx000,即255 255.25511111000

11111000是二进制,将它转换成十进制是
(0x20)+(0x21)+(0x22)+(1x23)+(1x24)+(1x25)+(1x26)+(1x27)
=0+0+0+8+16+32+64+128=248
所以子网掩码是255255255.248
7、以下哪种http状态下,浏览器会产生两次http请求?()
A 400
B 404
C 302
D 304
他的回答: A (错误)
正确答案: 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

他的回答: C (错误)
正确答案: B
解题分析
(1)路由信息组成部分1目的主机的网络地址2下一个跳转的地址3子网掩码。
(2)-net后面跟的是目标网络,gw就是gateway(网关入口),表示从哪个网关到哪个目标网络。
所以,如题,因为主机要访问172161.0/24网络,那么目标网络就是17216.1.0/24
因此-net后面跟的就是172.161.0/24排除AC选项。
因为gw表示网关入口,那么gw后面跟的就是网关地址,即192168.1.1.因此选B。
9、建立一条TCP连接需要()个步骤,关闭一个TCP连接需要()个步骤
A 4,3
B 4,4
C 3,4
D 3,3
他的回答: A (错误)
正确答案: C
10、以下关于HTTP状态码的描述,错误的是?( )
A 100,代表客户端应当继续发送请求
B 2xx,代表请求已成功被服务器接收、理解、并接受
C 301,代表被请求的资源已永久移动到新位置,用于重定向
D 4xx,代表服务器在处理请求的过程中有错误或者异常状态发生
他的回答: D (正确)
正确答案: D
在这里插入图片描述

二、编程题

【字符串计数】
求字典序在 s1 和 s2 之间的,长度在 len1 到 len2 的字符串的个数,结果 mod 1000007。
数据范围:1<=len(s1) ,len(s2)<=50 1<=len1,len2<=50
注意:本题有多组输入
输入描述:
每组数据包涵s1(长度小于50),s2(长度小于50),len1(小于50),len2(大于len1,小于50)
输出描述:
输出答案。
示例1:
输入
ab ce 1 2
输出
56

【解题思路】

  1. 循环接受收入,保证所有测试用例可以验证到
  2. 将s1和s2补齐到len2位,因为在字典序列中s1比s2靠前,因此s1后序所有位补’a’,s2后
    补’z’+1
  3. 确认s1和s2两个字符串每个字符位置上的差值
  4. 确认len1和len2之间不同字符的个数
  5. 注意输出时需要模1000007

牛客网ACM模式代码

import java.util.*;
public class Main{
    public static void main(String args[]){
    // 循环输入处理多组用例
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
    // 接收一组测试用例
            StringBuffer s1 = new StringBuffer(sc.next());
            StringBuffer s2 = new StringBuffer(sc.next());
            int len1 = sc.nextInt();
            int len2 = sc.nextInt();
    // 将s1和s2补齐到len2
    // 注意:s1之后补‘a’ s2之后补'z'+1
            for(int i = s1.length(); i < len2; ++i){
                s1.append('a');
            }
            for(int i = s2.length(); i < len2; ++i){
                s2.append('z'+1);
            }
    // 将s1和s2对应位置上的字符相减并保存相减的结果
            int[] array = new int[len2];
            for(int i = 0; i < len2; ++i){
                array[i] = s2.charAt(i) - s1.charAt(i);
            }
    // 计算结果
            long result = 0;
            for(int i = len1; i <= len2; ++i){
                 for(int j = 0; j < i; ++j){
                     result += array[j]*Math.pow(26, i - j - 1);
                 }
            }
            System.out.println((result-1)%1000007);
        }
    }
}

【最长公共子序列】
我们有两个字符串m和n,如果它们的子串a和b内容相同,则称a和b是m和n的公共子序列。子串中的字符不一定在原字符串中连续。
例如字符串“abcfbc”和“abfcab”,其中“abc”同时出现在两个字符串中,因此“abc”是它们的公共子序列。此外,“ab”、“af”等都是它们的字串。
现在给你两个任意字符串(不包含空格),请帮忙计算它们的最长公共子序列的长度。
输入描述:
输入包含多组数据。
每组数据包含两个字符串m和n,它们仅包含字母,并且长度不超过1024。
输出描述:
对应每组输入,输出最长公共子序列的长度。
示例1:
输入
abcfbc abfcab\nprogramming contest\nabcd mnp
输出
4\n2\n0

在这里插入图片描述
牛客网ACM模式代码

import java.util.*;
public class Main{
    public static int LCS(String m, String n){
        int mLen = m.length();
        int nLen = n.length();
    // 多申请一行一列:因为m和n可能存在为空字符串的情况
        int[][] dp = new int[mLen+1][nLen+1];
        for(int i = 1; i <= mLen; ++i){
            for(int j = 1; j <= nLen; ++j){
    // 如果m的i-1与n的j-1位置字符相等的情况下,则:
    // 最长公共子串为dp[i-1][j-1]+1
                if(m.charAt(i-1) == n.charAt(j-1)){
                    dp[i][j] = dp[i-1][j-1]+1;
                }else{
    // 如果不相等,则为其上一步的最大值
                    dp[i][j] = Math.max(dp[i-1][j], dp[i][j-1]);
                }
            }
        }
        return dp[mLen][nLen];
    }
    public static void main(String args[]){
    // 循环处理多组测试用例
        Scanner sc = new Scanner(System.in);
            while(sc.hasNext()){
                String m = sc.next();
                String n = sc.next();
                System.out.println(LCS(m,n));
            }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值