【2023】分享一份网友的Linux运维面试题

news2024/11/24 16:51:41
原只有问题,没有答案。答案是我整理的,如发现有什么问题可以在评论区留言告诉我!

目录

    • 1.grep如何查找一个字符串如何忽略大小写
    • 2.kill -9和kill -15有什么区别
    • 3.简单描述一下TCP的建立和断开
    • 4.Linux服务在什么情况下CPU使用率会超过100%
    • 5.服务器提示磁盘空间满了,但是通过du -sh命令发现磁盘并没有使用完,是什么原因
    • 6.使用什么命令查看某个Java进程内的线程堆栈信息
    • 7. redis能调时区吗?
    • 8.Docker容器请求某个地址有问题,该如何排查
    • 9.服务器出现未知错误解决的步骤操作
    • 10.k8s有哪些资源,简单说一下分别用于哪些场景
    • 11.k8s中Service是通过什么机制确定流量负载到哪个pod的
    • 12.简述一下k8s中Pod可能位于的状态
    • 13. 简述一下k8s中创建一个Pod的流程

1.grep如何查找一个字符串如何忽略大小写

以搜索某文件中linux为例:

grep -i linux test01.txt

在这里插入图片描述

2.kill -9和kill -15有什么区别

两者都是用于终止进程的命令,但是区别明显。

kill -15:发送一个SIGTERM信号给进程,这是一个优雅的结束信号,可以让进程在结束前完成一些清理工作,并保存进程当前的状态。
kill -9:发送一个SIGKILL信号给进程,这是一个非优雅的结束信号,意味着进程会立即停止,不会有任何清理工作或状态保存,可能会导致数据丢失或其他问题。
使用kill -9应该作为最后的手段,仅在进程不响应其他信号时才使用。

3.简单描述一下TCP的建立和断开

建立连接的三次握手过程:
第一步:客户端向服务器发送一个SYN(同步)请求。

第二步:服务器收到客户端请求后,回复一个SYN+ACK(同步/确认)请求。

第三步:客户端收到服务器的回复后,再次回复一个ACK(确认)请求。此时,连接建立成功。

断开连接的四次挥手过程:
第一步:客户端发送一个FIN(结束)请求。

第二步:服务器收到客户端的请求后,回复一个ACK(确认)请求。

第三步:服务器也发送一个FIN请求。

第四步:客户端收到服务器的请求后,再次回复一个ACK请求。此时,连接断开成功。

4.Linux服务在什么情况下CPU使用率会超过100%

在 Linux 中,CPU 使用率超过 100% 的情况通常是由于多个 CPU 核心或线程同时运行导致的。CPU 使用率的计算是基于 CPU 核心数量的百分比。如果系统有多个核心或线程,那么 CPU 使用率可能会超过 100%。

例如,如果一个进程在一个拥有 4 个 CPU 核心的系统上使用了 400% 的 CPU 使用率,那么这个进程实际上是在占用系统的全部 CPU 资源。类似地,如果有多个进程同时占用 CPU 资源,那么系统的 CPU 使用率就可能会超过 100%。

另外,CPU 使用率超过 100% 也可能是由于 CPU 芯片错误、过时的驱动程序或其他硬件问题引起的。在这种情况下,建议检查系统的硬件和驱动程序,以确定是否需要进行更新或更换。

5.服务器提示磁盘空间满了,但是通过du -sh命令发现磁盘并没有使用完,是什么原因

可能是因为有文件被删除了,但是仍然被某个进程占用,导致空间无法被释放。
这种情况下,你可以使用 lsof 命令来查找被占用的文件。

lsof | grep deleted

这条命令会列出所有删除但仍被占用的文件和进程,可查看这些进程并尝试终止它们释放空间。

6.使用什么命令查看某个Java进程内的线程堆栈信息

可以使用 jstack 命令来查看某个 Java 进程内的线程堆栈信息。
要使用 jstack 命令,首先需要确定要查看的 Java 进程的进程 ID(PID)。可以使用 jps 命令列出当前正在运行的 Java 进程及其 PID。
找到要查看的进程的 PID 后,可以运行以下命令来生成线程转储快照:

jstack
jstack <PID>

运行命令后, jstack 命令会输出线程堆栈信息,包括每个线程的调用栈跟踪。你可以使用输出来诊断 Java 应用程序中的问题,如死锁或死循环等。

7. redis能调时区吗?

Redis 本身不支持调整时区,它使用的是协调世界时(UTC)来表示时间。
如果你需要将 Unix 时间戳转换为本地时区的时间表示,可以使用相应编程语言或框架中提供的日期时间处理函数,将 Unix 时间戳转换为本地时区的日期时间表示。在转换时,需要指定本地时区的信息,例如时区偏移量或时区名称等。

8.Docker容器请求某个地址有问题,该如何排查

网络连接问题:检查容器所在的网络环境是否正常,包括主机网络、容器网络和目标地址网络等。可以使用 ping 命令测试网络连接是否正常。
DNS 解析问题:容器无法通过域名访问目标地址,可能是 DNS 解析出现了问题。可以使用 nslookup 命令测试域名解析是否正常。
防火墙问题:目标地址所在的网络可能设置了防火墙,导致容器无法访问。可以检查网络设备和防火墙规则是否允许容器访问目标地址。

9.服务器出现未知错误解决的步骤操作

确认问题:首先需要确认服务器出现了问题,包括确认是哪个服务或应用程序出现了错误,以及该错误的特点和表现。

收集日志:收集相关的日志信息,包括应用程序日志、系统日志、容器日志等,并根据需要进行分析和排查。

检查资源:检查服务器的资源使用情况,包括 CPU、内存、磁盘、网络等,查看是否有异常占用或资源不足等问题。

检查服务状态:检查相关服务的状态,包括进程、端口、网络等,查看是否有服务未启动或无法访问等问题。

排查网络问题:对于涉及网络的问题,需要排查网络设备、配置、连接等方面的问题,查看是否有网络故障或防火墙等问题。

恢复服务:根据问题的性质和严重程度,采取相应的措施进行处理和恢复,例如重启服务、恢复数据、调整配置等。

预防措施:对于出现过问题的服务器,需要进行记录和总结,以便下次出现类似问题时能够更快地排查和解决,同时还需要考虑加强预防措施,如监控、备份等。

10.k8s有哪些资源,简单说一下分别用于哪些场景

Deployment(部署):Deployment 是一个控制器,用于管理 Pod 和 ReplicaSet 的生命周期,提供了更新应用程序的能力。Deployment 常用于无状态应用程序的部署,通过创建和管理 ReplicaSet,确保应用程序的实例数满足要求,并提供应用程序的滚动升级功能。Deployment 可以通过自定义的方式管理应用程序的升级和回滚过程,保证应用程序的可用性和稳定性。

StatefulSet(有状态副本集):StatefulSet 是一个控制器,用于管理有状态应用程序的部署。与 Deployment 不同,StatefulSet 可以为每个 Pod 分配一个唯一的标识符,并且可以按照指定的顺序启动或停止这些 Pod。StatefulSet 可以保证有状态应用程序在部署、扩容和升级过程中的数据持久性和有序性,例如数据库、分布式存储系统和消息队列等。

DaemonSet(守护进程集):DaemonSet 是一个控制器,用于在集群中的每个节点上运行一个或多个 Pod。通常用于运行系统服务和 Daemon 进程,例如监控代理、日志收集器和负载均衡器等。DaemonSet 可以确保每个节点上都有相同数量的 Pod 运行,以提供服务的可用性和可靠性。

总之,Deployment 适用于无状态应用程序的部署,StatefulSet 适用于有状态应用程序的部署,而 DaemonSet 适用于在集群中的每个节点上运行相同的 Pod。根据应用程序的特点和需求,可以选择合适的控制器来管理应用程序的生命周期,并确保应用程序的可用性和稳定性。

11.k8s中Service是通过什么机制确定流量负载到哪个pod的

在确定流量负载均衡的过程中,Kubernetes 使用的是 Service 的选择器来确定后端 Pod 的标识符。选择器是在 Service 的定义中指定的一组标签(Label),它用于识别符合条件的 Pod。当 Service 接收到请求时,它会根据选择器来查找匹配的 Pod,并将请求转发到其中一个 Pod 上。如果后端 Pod 的数量发生变化,Service 会自动更新负载均衡策略,确保请求能够正确地负载均衡到可用的 Pod 上。

12.简述一下k8s中Pod可能位于的状态

Pending:Pod 已经被 Kubernetes 创建,但是它的所有容器都还没有被调度到节点上。这种状态通常发生在集群中没有足够的资源来调度新的 Pod。

Running:Pod 中的所有容器都已经被调度到节点上,并且至少有一个容器正在运行。

Succeeded:Pod 中的所有容器已经成功地完成了它们的任务,并且已经退出。

Failed:Pod 中的所有容器都已经退出,并且至少有一个容器以错误状态退出。

Unknown:Kubernetes 无法获取 Pod 的状态。这种状态通常发生在无法与 Pod 通信时,例如 Pod 的节点已经宕机。

13. 简述一下k8s中创建一个Pod的流程

客户端向apiserver发起pod创建请求
apiserver收到请求,会把pod信息存入到etcd中
scheduler会根据调度算法将pod分配到合适的node节点
node上kubelet通过监测etcd中记录创建pod

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

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

相关文章

【机器学习(四)】基于KNN算法对鸢尾花类别进行分类预测

文章目录专栏导读1、KNN算法原理2、实战案例-对鸢尾花类别分类预测2.1确定特征和类别2.2对特征进行处理2.3对模型调参&#xff0c;选择最优参数2.4使用分类模型进行预测2.5评估模型&#xff0c;检验模型效果3、完整代码及结果专栏导读 ✍ 作者简介&#xff1a;i阿极&#xff0c…

nginx-代理多个服务

目录 1.主机多Ip 1.1单网卡多ip主机配置 1.2修改default.conf 1.3server1.conf 1.3server2.conf 1.4测试文件 1.4重启测试 2.主机多端口 2.1server1.conf 2.2server2.conf 3.多域名代理 3.1server1.conf 3.2server2.conf 1.主机多Ip 1.1单网卡多ip主机配置 # 查看…

echart图表渲染合并策略

目录 调用方式 notMerge 普通合并 规则 例子 替换合并 规则 例子 echarts渲染函数setOption 调用方式 chart.setOption(option, {notMerge: boolean;replaceMerge?: string | string[];lazyUpdate: boolean; }); notMerge false &#xff08;默认&#xff09; 如果…

【Unity URP】2种描边方案:模板测试和正面剔除

写在前面 风格化不像PBR&#xff0c;好像没有套路可言&#xff0c;&#xff0c;&#xff0c;简直是《怎么好看怎么来》的最大化实践了&#xff01;感觉出的PBRNPR也是为了更好地利用PBR资产才诞生的这样一个渲染方案。&#xff08;当然我的评价非常非常的片面&#xff0c;瞎说…

帆软FineReport学习篇(四)——父子格设置

帆软FineReport学习篇(四)——父子格设置 1.概念 子单元格设置父单元格后,子单元格随父单元格进行扩展 简易的说,子单元格根据父单元格分组显示2 对比示意图 2.1 左父格对比示意图 2.2 上父格对比示意图 3 制作分组报表 3.1 新建普通报表WorkBook2.cpt 3.1.1 点击文件➡点…

OldWang带你了解MySQL(六)

文章目录&#x1f525;SQL函数&#x1f525;单行函数&#x1f525;字符函数&#x1f525;数字函数&#x1f525;日期函数&#x1f525;转换函数&#x1f525;通用函数&#x1f525;SQL函数 函数介绍 函数是 SQL 的一个非常强有力的特性&#xff0c;函数能够用于下面的目的&a…

【 SpringBoot ⽇志⽂件 】

文章目录一、⽇志的作用二、认识⽇志三、⾃定义⽇志打印3.1 在程序中得到⽇志对象3.2 使⽤⽇志对象打印⽇志3.3 ⽇志格式说明四、⽇志级别4.1 ⽇志级别的作用4.2 ⽇志级别的分类与使⽤4.2.1 ⽇志级别的分类4.2.2 ⽇志使⽤4.2.2.1 配置全局日志级别4.2.2.2 配置局部文件夹的日志…

【通过Cpython3.9源码看看python的内存回收机制】

一&#xff1a;建立对象引用计数 1. 相关代码 void _Py_NewReference(PyObject *op) {if (_Py_tracemalloc_config.tracing) {_PyTraceMalloc_NewReference(op);} #ifdef Py_REF_DEBUG_Py_RefTotal; #endifPy_SET_REFCNT(op, 1); #ifdef Py_TRACE_REFS_Py_AddToAllObjects(op…

【算法】AB3DMOT之Sutherland Hodgman多边形裁剪

在AB3MOT模型中有一个步骤为计算IOU时&#xff0c;需要先计算两个立体在地面的投影2D形状&#xff0c;然后计算两个投影的重叠部分&#xff0c;实际上为多边形的裁剪算法。 AB3MOT classmethod def box2corners3d_camcoord(cls, bbox):Takes an objects 3D box with the repr…

懒人式迁移服务器深度学习环境(完全不需要重新下载)

换服务器了&#xff1f;想迁移原来服务器上的深度学习环境&#xff0c;但又觉得麻烦懒得重新安装一遍anaconda、pytorch&#xff1f;有没有办法能不费吹灰之力直接迁移&#xff1f;接下来跟着我一起&#xff0c;懒汉式迁移。   本方法适用于在同一内网下的两台服务器之间互相…

【深度强化学习】(8) iPPO 模型解析,附Pytorch完整代码

大家好&#xff0c;今天和各位分享一下多智能体深度强化学习算法 ippo&#xff0c;并基于 gym 环境完成一个小案例。完整代码可以从我的 GitHub 中获得&#xff1a;https://github.com/LiSir-HIT/Reinforcement-Learning/tree/main/Model 1. 算法原理 多智能体的情形相比于单智…

SpringCloud GateWay与Nacos使用

网关就相当于一个内网与外网的出入口&#xff0c;起着 安全、验证的功能&#xff0c;如果没有网关&#xff0c;那么如果需要实现验证的功能&#xff0c;除非 SpringCloud GateWay 作为微服务的网关,起着如下作用 ① 作为所有API接口服务请求的接入点 ② 作为所有后端业务服务…

SpringBoot 整合 RabbitMQ (四十一)

二八佳人体似酥&#xff0c;腰间仗剑斩愚夫。虽然不见人头落&#xff0c;暗里教君骨髓枯。 上一章简单介绍了SpringBoot 实现 Web 版本控制 (四十),如果没有看过,请观看上一章 关于消息中间件 RabbitMQ, 可以看老蝴蝶之前的文章: https://blog.csdn.net/yjltx1234csdn/categor…

还不懂如何与AI高效交流?保姆级且全面的chatGPT提示词工程教程来啦!(一)基础篇

还不懂如何与chatGPT高效交流&#xff1f;保姆级且全面的chatGPT提示词工程教程来啦&#xff01;&#xff08;一&#xff09;基础篇 文章目录还不懂如何与chatGPT高效交流&#xff1f;保姆级且全面的chatGPT提示词工程教程来啦&#xff01;&#xff08;一&#xff09;基础篇一&…

CDH6.3.2大数据集群生产环境安装(七)之PHOENIX组件安装

添加phoenix组件 27.1. 准备安装资源包 27.2. 拷贝资源包到相应位置 拷贝PHOENIX-1.0.jar到/opt/cloudera/csd/ 拷贝PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel.sha、PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel到/opt/cloudera/parcel-repo 27.3. 进入cm页面进行分发、…

【AIGC】9、BLIP-2 | 使用 Q-Former 连接冻结的图像和语言模型 实现高效图文预训练

文章目录一、背景二、方法2.1 模型结构2.2 从 frozen image encoder 中自主学习 Vision-Language Representation2.3 使用 Frozen LLM 来自主学习 Vision-to-Language 生成2.4 Model pre-training三、效果四、局限性论文&#xff1a;BLIP-2: Bootstrapping Language-Image Pre-…

unity 序列化那些事,支持Dictionary序列化

目录 一、普通类型和UnityEngine空间类型序列化 二、数组、list的序列化 三、自定义类的序列化支持 四、自定义asset 五、在inspector面板中支持Dictionary序列化 1、在MonoBehaviour中实现Dictionary序列化 2、自定义property&#xff0c;让其在inpsector能够显示 3、Mo…

【从零开始学Skynet】实战篇《球球大作战》(七):gateway代码设计(下)

1、确认登录接口 在完成了登录流程后&#xff0c;login会通知gateway&#xff08;第⑧阶段&#xff09;&#xff0c;让它把客户端连接和新agent&#xff08;第⑨阶段&#xff09;关联起来。 sure_agent代码如下所示&#xff1a; s.resp.sure_agent function(source, fd, play…

[Gitops--1]GitOps环境准备

GitOps环境准备 1. 主机规划 序号主机名主机ip主机功能软件1dev192.168.31.1开发者 项目代码 apidemogit,golang,goland2gitlab192.168.31.14代码仓库,CI操作git-lab,git,golang,docker,gitlab-runner3harbor192.168.31.104管理和存储镜像docker,docker-compose,harbor4k8s-m…

基础排序算法【计数排序】非比较排序

基础排序算法【计数排序】非比较排序⏰【计数排序】&#x1f550;计数&#x1f566;排序&#x1f553;测试⏰总结&#xff1a;⏰【计数排序】 计数排序又称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应用 > 基本思路&#xff1a; 1.统计数据出现的次数 2.根据统计的结…