当前位置: 首页 > news >正文

27届春招备战一轮复习--第五期

27届春招备战一轮复习--第五期

未经作者允许,禁止转载
----作者:王贵祥

目录
  • 27届春招备战一轮复习--第五期
      • 这边你其实有提到ansible,你有写过playbook嘛?你写过那些功能呀,简单讲一讲
      • 问: 之前你有用过header这种模块嘛?
      • 问: 你有用过role的吗
      • 问: role文件下会放那些目录功能呢
      • 问: 有task文件吗,一般会放一些什么
      • 再问一个网络的问题吧,因为我看你简历没怎么写网络,到有提到网络应用,正常的话,我的四次挥手的时候吧,假如说,我的服务有大量的close wait状态 ,是什么原因呢?
      • 四次挥手的过程你知道吗? 回答: 四次挥手过程熟悉的,close wait是关闭什么来着,关闭连接?具体的这个业务我 还是不太明白,但是四次挥手还是熟的 问: 那你说一下四次挥手过程
      • 问: 那你知道这个close wait是什么状态嘛?第一次客户端发送数据包给服务端,服务 端回客户端之后,服务端处于一个什么状态呀,转态机制怎么样 回答: 那个状态机制是一个等待关闭的一个状态吧 问: 那是一个什么状态知道吗
      • 问: 假如我想服务器上有大量的Tcp连接吗,想看我这个进程有那些,TCP连接都处于 什么状态,一般用什么命令看
      • 问: netstat怎么拼的
      • 我这边问题问完了,我出一道算法题吧,我不确定你前面代码能力经验怎么样,可以难一点还是简单一点的? 我的代码能力的话算是一种基础吧
    • 补充三次握手
      • 为什么连接的时候是三次握手,关闭的时候却是四次握手?
      • 为什么要等待2MSL?
      • 算法
      • 解答(尽量分三份,知道这个技巧的会简单很多)

这边你其实有提到ansible,你有写过playbook嘛?你写过那些功能呀,简单讲一讲

回答: 像安装软件包,yum模块这种,还有启动一个http服务呀,用service,还有开启防 火墙,firewalld这个模块,还有创建磁盘去挂载它,用block这个模块,还有使用定时 任务,创建一个user,像user模块呀,Cronjob模块,像这些都有配过

问: 之前你有用过header这种模块嘛?

回答: 没有,这个没有太多的接触

问: 你有用过role的吗

回答: 你说是角色吗,有用过的

问: role文件下会放那些目录功能呢

回答: 会放一些要求文件,比如requestments,根据他去做一些批量的处理这样子

[root@ansible roles]# tree apache/
apache/
├── defaults
│   └── main.yml
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── README.md
├── tasks
│   └── main.yml
├── templates
├── tests
│   ├── inventory
│   └── test.yml
└── vars└── main.yml#defaults/main.yml:定义角色默认变量,优先级低,可被其他变量覆盖
#files/:存放静态文件,供任务中copy等模块直接使用
#meta/main.yml:记录角色元数据,如作者、依赖关系、支持的平台等
#tasks/main.yml:定义角色核心任务,是角色执行逻辑的主要部分
#templates/:存放 Jinja2 模板文件,用于动态生成配置文件
#tests/:包含测试相关文件,用于验证角色功能
#vars/main.yml:定义角色私有变量,优先级高,通常不允许被覆盖

处理器(handlers)是 Ansible 中一种特殊的任务,它类似于普通任务,但只在被明确调用时才会执行,通常用于响应某个状态变化后的操作。

handlers/main.yml 的主要作用是:

  • 定义一系列需要在特定条件下触发的操作(如服务重启、配置重载等)
  • 这些操作不会自动执行,需要通过其他任务中的 notify 关键字来调用

例如,在 handlers/main.yml 中可能会定义这样的内容:

- name: restart apacheservice:name: httpdstate: restarted- name: reload apacheservice:name: httpdstate: reloaded

问: 有task文件吗,一般会放一些什么

回答: 有的,会放一些初始化的角色,像前面有提到过创建磁盘呀,block的也有

提示不要带偏了:

他会放一些:

  1. 安装软件(如yumapt模块安装 Apache)
  2. 配置文件操作(如copytemplate模块部署配置)
  3. 服务管理(如service模块启动 / 启用服务)
  4. 权限设置(如file模块调整文件权限)
  5. 依赖检查(如确认必要目录存在)
  6. 其他需要执行的操作步骤

再问一个网络的问题吧,因为我看你简历没怎么写网络,到有提到网络应用,正常的话,我的四次挥手的时候吧,假如说,我的服务有大量的close wait状态 ,是什么原因呢?

  • 未正确释放连接资源:代码在使用完 Socket 或网络连接后,没有在finally块或合适的生命周期回调函数中调用close()方法。例如,发生异常时,导致关闭语句被跳过。

  • 长周期操作阻塞:应用程序在收到FIN后,可能还在执行一个非常耗时的操作,迟迟没有走到关闭连接的代码处,使得连接长时间处于CLOSE_WAIT状态。

  • 资源竞争或死锁:极少数情况下,应用程序可能因为死锁而无法执行到关闭连接的代码,从而导致连接一直保持在CLOSE_WAIT状态。

四次挥手的过程你知道吗? 回答: 四次挥手过程熟悉的,close wait是关闭什么来着,关闭连接?具体的这个业务我 还是不太明白,但是四次挥手还是熟的 问: 那你说一下四次挥手过程

回答: 客户端向服务端发送数据包SYN置为1,随机产生一个seq随机数为 j。。。。。。。。。。

问: 那你知道这个close wait是什么状态嘛?第一次客户端发送数据包给服务端,服务 端回客户端之后,服务端处于一个什么状态呀,转态机制怎么样 回答: 那个状态机制是一个等待关闭的一个状态吧 问: 那是一个什么状态知道吗

回答: 这个比较深度的还没有太多研究

问: 假如我想服务器上有大量的Tcp连接吗,想看我这个进程有那些,TCP连接都处于 什么状态,一般用什么命令看

回答: 看进程的话,用top命令嘛,还有htop,还有vmstat 问: 看tcp连接的情况 回答: 先查看ipconfig?或者查端口,ss、netstat这种,

  1. 先找到进程的 PID(根据进程名或端口):

    # 通过进程名查找
    ps -ef | grep 进程名# 通过端口查找(比如8080端口)
    netstat -tlnp | grep 8080
    # 或
    lsof -i :8080
    
  2. 查看该进程的所有 TCP 连接及状态

    # 方法1:netstat(需指定PID)
    netstat -antp | grep 进程PID# 方法2:ss(更高效,推荐)
    ss -antp | grep 进程PID# 方法3:lsof(可看到更多文件描述符细节)
    lsof -p 进程PID | grep TCP
    

问: netstat怎么拼的

回答: nelnet

看来这边应试者回答错了捏

是netstat

我这边问题问完了,我出一道算法题吧,我不确定你前面代码能力经验怎么样,可以难一点还是简单一点的? 我的代码能力的话算是一种基础吧

ok,出了一个合并两有序数组 过了两分钟。。。。编程题还是准备的不是很充分 ## 那你要说一下思路吧?

补充三次握手

为什么连接的时候是三次握手,关闭的时候却是四次握手?

建立连接时因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。所以建立连接只需要三次握手。

由于TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议,TCP是全双工模式。这就意味着,关闭连接时,当Client端发出FIN报文段时,只是表示Client端告诉Server端数据已经发送完毕了。当Server端收到FIN报文并返回ACK报文段,表示它已经知道Client端没有数据发送了,但是Server端还是可以发送数据到Client端的,所以Server很可能并不会立即关闭SOCKET,直到Server端把数据也发送完毕。当Server端也发送了FIN报文段时,这个时候就表示Server端也没有数据要发送了,就会告诉Client端,我也没有数据要发送了,之后彼此就会愉快的中断这次TCP连接。

为什么要等待2MSL?

MSL:报文段最大生存时间,它是任何报文段被丢弃前在网络内的最长时间。

算法

现需要将一根长为正整数 bamboo_len 的竹子砍为若干段,每段长度均为正整数。请返回每段竹子长度的最大乘积是多少。

示例 1:

输入: bamboo_len = 12
输出: 81
class Solution:def cuttingBamboo(self, bamboo_len: int) -> int:

解答(尽量分三份,知道这个技巧的会简单很多)

class Solution:def cuttingBamboo(self, bamboo_len: int) -> int:if bamboo_len <= 1:return 0if bamboo_len == 2:return 1if bamboo_len == 3:return 2remainder = bamboo_len % 3#求他的余数if remainder == 1:# 余1时,将最后一个3和1分成2+2(因为2×2>3×1)return (3 **((bamboo_len - 4) // 3)) * 4elif remainder == 2:# 余2时,直接乘以2return (3** (bamboo_len // 3)) * 2else:return 3 **(bamboo_len // 3)
http://www.wxhsa.cn/company.asp?id=584

相关文章:

  • 阅读方式
  • Audition 2025(AU2025)超详细直装版下载安装教程保姆级
  • pg 解析select语句的返回值
  • 长乐一中 CSP-S 2025 提高级模拟赛 Day2
  • 费用流
  • [豪の学习笔记] 软考中级备考 基础复习#6
  • RAG
  • 手撕深度学习:矩阵求导链式法则与矩阵乘法反向传播公式,深度学习进阶必备!
  • CF *3200
  • 分享我在阿贝云使用免费虚拟主机的真实体验!
  • 软件测试工程师的职业天花板在哪里?如何突破?
  • 02020213 .NET Core重难点知识13-配置日志邮件服务案例、DI读取、DI与扩展方法、VS配置项目环境变量
  • GJOI 模拟赛题记录声明
  • Ubuntu 卸载 Firefox 浏览器
  • 录无法修改OneDrive文件的解决方法
  • 量子机器学习入门:三种数据编码方法对比与应用
  • 向量数据库
  • UGNX2506下载和安装教程包含激活教程步骤(超详细保姆级图文UGNX安装步骤)
  • ansible剧本
  • uniapp插件开发
  • 【模板】平面最近点对
  • npx playwright install chromium 安装失败,如何离线安装
  • Power BI制作指标达成跟踪器
  • 软件工程第一次作业
  • 一个基于 .NET 开源、轻便的 Windows 优化工具,适用于 Win7 - Win11 最新版的优化!
  • 两种求快速幂的方法
  • 杂题20250909-
  • LLM2
  • 第01周 预习、实验与作业:绪论与Java基本语法
  • 第一周作业1