48天笔试训练错题——day37

news2025/4/10 3:58:05

目录

选择题

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

编程题

1. 数据库连接池

2. mkdir


选择题

1.

2.

数据的五元组:源IP,源端口,目的IP,目的端口,协议。

源IP:描述数据从哪个主机上产生。

目的IP:描述数据去往哪个主机。

源端口:描述数据从源主机的哪个进程产生。

目的端口:描述数据去往目的主机的哪个进程。

协议:双方网络通信使用的网络协议。

源端口地址:源IP + 源端口

目的端口地址:目的IP + 目的端口

在 TCP/UDP 传输段中,源端口地址和目的端口地址是不能相同的,否则就会建立自己到自己的连接,白白耗费资源。网络攻击中的 LAND 攻击就是利用这个这一点进行攻击的。

3.

154.27.0.0 是 B 类 IP 地址(B类主机地址范围:128.0.0.1 到 191.255.255.254,前两字节是网络地址,后两字节是主机地址),不做子网划分,主机号就有 2^16(65536) 个,除去全 0 (网段号154.27.0.0) 和全 1 (广播号154.27.255.255) ,可以支持 65534 台主机。

4.

简单网络管理协议(SNMP) 是 TCP/IP 模型的一个应用层协议。

应用层:文件传输协议(FTP),远程登录协议(Telnet),电子邮件协议(SMTP),网络文件服务协议(NFS),网络管理协议(SNMP),域名解析协议(DNS)。

传输层:TCP,UDP 协议。

网络层:IP,ICMP,ARP,RARP。

5.

5xx 的状态码是服务器出错,4xx 的状态码是客户端出错,3xx 的状态码是重定向,2xx 状态码是成功。

6.

因为第一个数据包丢失,B 会重新向主机 A 索要第一个数据包(确认号为 70),而不是返回 100,如果返回了 100,就说明 B 已经完整接收到了 100 以及之前的数据包,这样主机就不会重传了。

7.

主机名本质上就是域名,比如 www.jd.com,将域名转为 IP 地址的过程就是域名解析。

8.

MIME(多用途互联网邮件扩展类型),是设定某种扩展名的文件,用一种应用程序来打开的方式类型,当该扩展名被访问的时候,浏览器会自动使用指定应用程序来打开。

HTTP 请求中 host 才是表示初始 URL 中的主机和端口。css 是页面的样式。

9.

在同一信道上同一时刻,可进行双向数据传送的通信方式是全双工。

TCP 协议是有连接的,UDP 是无连接的。

OSI 结构是:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

网络号 = IP地址 & 子网掩码           

(255 是全 1)

192.168.8.123        (01111011)

&

255.255.255.248    (11111000)

=

192.168.8.120        (01111000)

10.

404 是找不到资源,502 是错误网关。

403 是没权限拒绝访问,304 会读取浏览器缓存。

200 是成功,500 是服务器错误。

编程题

1. 数据库连接池

我们可以利用 set 来完成,先创建个 count 来记录需要创建的连接池数量,然后直接遍历数组,然后看看字符串的第一个字符(请求编号)是否在 set 中存在,如果不存在,则将字符放入 set 中,如果存在,那就先判断下当前 set 的 size 是否大于 count,如果大于,就更新 count,然后再将该字符从 set 中删除。

代码实现:

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            in.nextLine();
            Set<Character> set = new HashSet<>();
            int count = 0;
            for (int i = 0; i < n; i++) {
                String str = in.nextLine();
                char c = str.charAt(0);
                if (set.contains(c)) {
                    set.remove(c);
                } else {
                    set.add(c);
                    if (set.size() > count) {
                        count = set.size();
                    }
                }
            }
            System.out.println(count);
        }
    }
}

2. mkdir

看例子,如果输入的目录包含子目录,就需要将相同的目录和子目录剔除,如果不是子目录,就得按照字母顺序输出,因为要排序,所以我们可以先将数组排序,然后再遍历数组,比较两个目录,如果两个目录相同,就删除前一个目录,如果前一个目录是后一个目录的子目录(前目录长度小于后目录,并且后目录包含前目录,而且后目录包含前目录的下一个字符是 '/' ),就删除前一个目录。然后再次遍历数组,将未被删除的目录构造成命令输出即可。

代码实现:

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            String[] paths = new String[n];
            for (int i = 0; i < n; i++) {
                paths[i] = in.next();
            }
            // 首先对数组进行排序
            Arrays.sort(paths);

            // 然后遍历数组,剔除掉相同的目录和子目录
            boolean[] flg = new boolean[n];// 用来标记数组中某些元素被删除
            for (int i = 0; i < n - 1; i++) {
                // 目录相同,剔除目录
                if (paths[i].equals(paths[i + 1])) {
                    flg[i] = true;
                }
                // 剔除子目录,/a   /ab   /a/b   
                // /a/b 包含 /a,并且 /a/b 长度大于 /a,并且 /a/b 在 /a 的后一个字符是 /
                if (paths[i + 1].contains(paths[i]) && paths[i + 1].length() > paths[i].length() && paths[i + 1].charAt(paths[i].length()) == '/') {
                    flg[i] = true;
                }
            }

            // 最后构造命令并输出即可。
            for (int i = 0; i < n; i++) {
                if (!flg[i]) {
                    System.out.println("mkdir -p " + paths[i]);
                }
            }

            System.out.println();
            
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1977647.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

南京观海微电子----单通道遥控开关电路原理及制作

本文介绍的遥控开关&#xff0c;具有遥控距离远&#xff08;大于30米&#xff09;&#xff0c;无方向限制&#xff0c;可穿透墙壁&#xff0c;工作稳定&#xff0c;体积小巧等优点。只要在家电设备的供电回路中加入这种电路&#xff0c;便能使家电具有遥控功能。下面分别介绍它…

『python爬虫』beautifulsoup库获取文本的方法.get_text()、.text 和 .string区别(保姆级图文)

目录 区别.string(不推荐用).text(get_text的简化版少敲代码的时候用).get_text(推荐用,功能强大,为什么不爱呢?) 示例代码总结 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 区别 省流直接看get_text 推荐用这个…

[BJDCTF2020]Cookie is so stable1

打开题目 查看页面源码 点击hint查看源码 提示看cookie&#xff0c;burp抓包查看cookie 试一下 尝试{{7*7}}&#xff0c;发现ssti漏洞&#xff0c;判断是twig 抓包&#xff0c;发现user为注入点 输入payload {{_self.env.registerUndefinedFilterCallback("exec"…

.NET 8 通用权限框架 前后端分离,开箱即用

目录 前言​ 项目介绍 1、支持各种数据库 2、前端运行步骤 3、演示环境 4、项目地址 5、在线文档 项目使用 项目功能 项目截图 总结 前言​ 推荐一个基于.NET 8 实现的通用权限开发框架Admin.NET&#xff0c;前端使用Vue3/Element-plus开发。 基于.NET 8(Furion)/Sq…

【中项】系统集成项目管理工程师-第9章 项目管理概论-9.9价值交付系统

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…

十分钟速通 Vue 动态 Class、Style

计算属性 大家有没有思考过这样一个问题&#xff0c;下面这段代码&#xff0c;功能上没什么问题&#xff0c;但是读起来很费劲&#xff0c;因为需要思考过后&#xff0c;才能知道这段代码的意思。 <p>{{ message.split().reverse().join() }}</p>这完全不符合面向…

[NISACTF 2022]ezpie- 入土为安的第十五天

pwn的第3天 PIE保护ret2text栈 按照签到题的套路是找main&#xff0c;buf,shell,bin/sh/ 但是是PIE保护 那有什么不一样的呢 PIE保护&#xff1a; ​ PIE全称是position-independent executable&#xff0c;中文解释为地址无关可执行文件&#xff0c;该技术是一个针对代码…

C++ | (一)C++入门基础

从本篇文章开始&#xff0c;我们正式进行C的系统学习。C是在C语言的基础上添加了面向对象编程的特性&#xff0c;是C语言的延伸&#xff0c;并遵循C语言的绝大多数语法。如果想学习C&#xff0c;必须要有一定的C语言基础&#xff0c;这样学起来才不会太过痛苦。 本文章即假设读…

Vue分析脚手架结构

1.分析结构 <!DOCTYPE html> <html lang""><head><meta charset"utf-8"><!-- 针对IE浏览器 得一个特殊配置&#xff0c;含义是让IE浏览器以最高得渲染级别渲染页面 --><meta http-equiv"X-UA-Compatible" cont…

吃瓜用户看广告获取密码访问网页内容流量主模式源码

用户看广告获取密码访问网页内容&#xff0c;网站生成内容&#xff0c;用户需要浏览内容跳转至小程序&#xff0c;观看广告后获取密码&#xff0c;输入密码查看网页内容。 与之前得9.9付费进群区别就是内容体现在了网页里&#xff0c;用户不需要进群查看。并且不需要付费&…

HTML 基础结构

目录 1. 文档声明 2. 根标签 3. 头部元素 4. 主题元素 5. 注释 6. 演示 1. 文档声明 <!DOCTYPE html>&#xff1a;声明文档类型&#xff0c;表示该文档是 html 文档&#xff0c; 2. 根标签 &#xff08;1&#xff09;所有的其他标签都要放在一对根标签中&#…

MySQL精简笔记

基础类型 整型&#xff1a;bit&#xff0c;tinyint&#xff0c;smallint&#xff0c;int&#xff0c;bigint浮点&#xff1a;fload&#xff0c;double&#xff08;M&#xff1a;整数小数的位数&#xff0c;D&#xff1a;小数的位数&#xff09;无符号&#xff1a; decimal&…

C++类和对象知识巩固:相关习题解析

目录 1&#xff0c;求下面析构的顺序 2&#xff0c;以下调用了多少次拷贝构造 3&#xff0c;计算日期到天数的转换 4&#xff0c;日期差值 5&#xff0c;打印日期 6&#xff0c;累加天数 7&#xff0c;求123...n&#xff0c;要求不能使用乘除法、for、while、if、else、…

springboot2自定义starter

1.创建maven项目。首先根据springboot 约定规范&#xff0c;Starter项目的命名规范如下&#xff1a; 建议自定义的starter 以 xxx-spring-boot-starter 命名&#xff0c;官方的Starter一般都是以spring-boot-starter-为前缀。这样做的目的是为了避免与官方或其他第三方提供的St…

C#-读取测序数据的ABI文件并绘制svg格式峰图

本地环境&#xff1a;win10&#xff0c;visual studio 2022 community 目录 前言问题描述实现效果解决思路实现要点ABI文件的组织方式svg绘制问题变色碱基值 动态设置svg图像宽度 前言 本文是在已有的代码基础上进行的开发&#xff0c;前期已经实现&#xff1a; ABI文件的解析…

8090怀旧视频素材去哪里找?怀旧童年的素材库分享给你

在这个充满活力的现代社会中&#xff0c;对80和90年代的复古风情的怀旧情感愈加浓厚。那些年的音乐、电影、日常生活乃至街头巷尾的景象&#xff0c;总能唤起人们的美好回忆。对于视频创作者而言&#xff0c;制作一部带有80和90年代怀旧风格的视频&#xff0c;不仅能触动观众的…

cgroup:Linux的资源控制机制

文章目录 1 cgroup 的主要功能1.1 资源限制1.2 优先级控制1.3 资源隔离1.4 资源监控 2 cgroup 的层次结构3 cgroup 子系统4 示例&#xff1a;使用 cgroup 控制 CPU 和内存4.1 创建 cgroup4.2 设置资源限制4.3 将进程添加到 cgroup 5 使用 systemd 管理 cgroup6 总结参考链接封面…

【人工智能】NLP入门指南:自然语言处理基础全解析

文章目录 前言一、NLPNLP&#xff08;自然语言处理&#xff09;NLU&#xff08;自然语言理解&#xff09;NLG&#xff08;自然语言生成&#xff09; 二、分词1.什么是分词2.常见的分词工具3.jieba分词 三、词向量1.什么是词向量2.文本张量表示方法3.常见的词向量模型3.1 ont-ho…

QT键盘和鼠标事件

这些事件都在QWidget 中的保护成员方法中 都是虚函数在头文件中声明了 需要类外重现实现 如果头文件中声明 类外无实现就会报错 void Widget::keyPressEvent(QKeyEvent *event) {switch (event->key()) {//获取按键case Qt::Key_W://按键wqDebug()<<"按下w"…

【Linux】网络基础_4

文章目录 十、网络基础5. socket编程网络翻译服务 未完待续 十、网络基础 5. socket编程 网络翻译服务 基于UDP&#xff0c;我们实现一个简单的翻译。 我们导入之前写的代码&#xff1a; InetAddr.hpp&#xff1a; #pragma once#include <iostream> #include <sys…