面试题总结

文章目录

  • 第一阶段:
  • 网络
    • 1、osi七层模型、tcp\ip 五层模型
    • 2、三次握手四次挥手
    • 3、交换机路由器工作原理
    • 4、vlan的作用
    • 5、icmp协议
  • Linux
    • 1、cpu、内存、io、磁盘容量、网络流量、load average
    • 2、lvm逻辑卷如何创建
    • 3、raid磁盘阵列
    • 4、开机引导过程
    • 5、软连接硬链接
    • 6、查找文件命令
    • 7、yum仓库
    • 8、文本三剑客grep、awk、sed
    • 9、linux的性能安全优化
  • shell脚本
    • 1、预定义变量
    • 2、输出全局变量
    • 3、如何创建函数
    • 4、 shell实现nginx日志自动切割
  • 防火墙
    • 1、四表五链
    • 2、iptables命令
    • 3、firewalld九大区域
  • 第二阶段
    • 1、nginx的优化
    • 2、nginx负载均衡器的类型
    • 3、nginx如何实现会话保持
    • 4、nginx四层代理和七层代理的区别
    • 5、tomcat的几个端口
    • 6、mysql sql语句
    • 7、MySQL索引
    • 8、MySQL事务、隔离级别
    • 9、什么是死锁,产生的原因、解决方法、如何避免
    • 10、MySQL存储引擎
    • 11、Keepalived
    • 12、脑裂
    • 13、状态响应码
    • 14、MySQL的存储过程
    • 15、MySQL高可用
    • 16、MySQL主从复制有延迟
    • 17、MySQL双1设置
    • 18、MySQL配置优化
    • 19、如何定位并优化慢查询SQL?
    • 20、Redis 为什么读写速度那么快
    • 21、redis的数据结构
    • 22、redis 中rdb和aof的区别
    • 23、redis主从复制(哨兵、集群)
    • 24、什么是 CDN
    • 25、rsync怎么实现远程同步、清空文件
    • 26、elk怎么工作的、组件
    • 27、es集群部署
    • 28、Logstash模块
    • 29、es创建删除索引
    • 30、kafka作用特点、组件
    • 31、zabbix组件、如何自定义监控状态
    • 32、zookeeper的选举机制
    • 33、redis的优化
    • 34、 ceph的存储过程
    • 35、缓存击穿,穿透,雪崩
      • 缓存击穿:
      • 缓存雪崩
      • 缓存穿透
    • 36、MHA 部署过程:
    • 37、tomcat的优化
  • 三、
    • 1、k8s的工作流程
    • 2、k8s核心组件
      • master组件
      • node组件
    • 3、相比VLAN技术,VXLAN技术具有以下的优势:
    • 4、flannel UDP 模式的工作原理
    • 5、flannel vxlan 模式工作原理

第一阶段:

网络

1、osi七层模型、tcp\ip 五层模型

应用层 :直接面向用户,为用户的应用进程提供服务,处理应用进程之间的通信。

表示层 :确定数据的表示形式,完成数据格式之间的转换,从而使收发双方都能理
解。

会话层 :负责管理远程用户或进程之间的通信,为表示层提供建立、维护和结束会话连接的功能。

传输层 :定义传输数据的端口号,将数据以数据段的形式完成端到端的传输。

网络层 :通过逻辑寻址,实现不同网络之间的路径选择,将源和目的ip地址以数据包的形式实现数据从源地址到目的地址的传输。通过ip地址实现点到点的通信。

数据链路层 :建立相邻结点之间的数据链路,进行硬件地址寻址、差错校验等功能,将比特封装成数据帧的形式进行文件的传输。通过物理(MAC)地址来实现两个相邻网络之间的通信。

物理层 :将数据以比特流的形式进行传输,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输。

应用层—传输层—网络层—数据链路层—物理层

2、三次握手四次挥手

三次握手:

  1. 客户端向服务器发送一个SYN(同步)报文,其中包含一个随机的初始序列号(ISN)。
  2. 服务器收到SYN报文后,向客户端发送一个SYN-ACK(同步-确认)报文,其中确认号为客户端的ISN加1,并且服务器也随机生成一个ISN。
  3. 客户端收到服务器的SYN-ACK报文后,向服务器发送一个ACK(确认)报文,其中确认号为服务器的ISN加1,同时客户端还确认了服务器的ISN。

四次挥手:

  1. 当客户端需要关闭连接时,发送一个FIN(结束)报文,表示数据发送完成。
  2. 服务器收到FIN后,发送一个ACK报文作为确认。
  3. 服务器继续发送数据,当数据发送完成后,向客户端发送一个FIN报文。
  4. 客户端收到服务器的FIN后,发送一个ACK报文作为确认,并进入TIME_WAIT状态。在TIME_WAIT状态持续2倍的报文最大生存时间(MSL)后,关闭连接。

这样,通过三次握手建立连接和四次挥手关闭连接可以确保数据的可靠传输和连接的正常关闭。

为什么要进行三次握手呢?

因为三次握手的过程可以最快的进行客户端和服务器之间的互联互通,减少资源消耗。

3、交换机路由器工作原理

交换机:交换机的工作原理可以理解为是交换机通过MAC地址表来实现数据的传输

1、初始状态:交换机刚开机时MAC地址表没有任何记录。
2、MAC地址学习:源主机通过交换机发送数据帧给目标主机,交换机学习数据帧中的源MAC和对应的接口标识,并记录到MAC地址表中。
3、广播未知数据帧:如果交换机的HMAc地址表没有目的MAc地址所对应的接口记录,则会进行广播泛洪。
4、接收方回应:只有拥有对应目的MAC地址的主机才会进行回复响应。
5、交换机实现单播通信:交换机会从目的主机回复的消息中学习到MAc地址和对应的接口标识,并记录到MAC地址表中,之后两台之间即可通过交换机。MAC地址表的记录实现单播通信
注:MAC 地址表的默认老化时间是300s

路由器:通过路由表转发

4、vlan的作用

vlan是一种虚拟局域网技术,它将一个物理局域网划分成多个逻辑上的虚拟局域网。VLAN的作用主要有以下几点:

  1. 提供逻辑隔离:VLAN可以将网络设备按照逻辑上的需求进行划分,使得不同VLAN上的设备之间无法直接通信,从而增强网络的安全性。
  2. 简化网络管理:通过VLAN,管理员可以根据不同的需求将设备逻辑上分组,方便管理和配置。例如,可以将同一部门或同一功能的设备划分到同一个VLAN,更好地进行网络资源的管理。
  3. 减少广播域:传统的广播会在整个物理局域网中传播,这会导致网络拥塞和冲突。而VLAN将不同的设备划分到不同的虚拟局域网中,可以减少广播域的范围,降低了广播引起的网络负载。
  4. 支持虚拟机迁移:在虚拟化环境中,VLAN可以帮助实现虚拟机的灵活迁移。通过划分不同的VLAN,可以使得虚拟机在不同的物理服务器之间迁移时,网络配置更加简单和灵活。

5、icmp协议

linux:ping traceroute

windows:tracert、

Linux

1、cpu、内存、io、磁盘容量、网络流量、load average

**free **查看交换空间个内存状态
**cat /etc/redhat-release ; cat /etc/*release ; cat /proc/version **查看当前系统版本
**uname -r **查看内核版本
**cat /proc/cpuinfo ; yum -y install sysstat, sar ; **查看cpu信息
**vmstat **查看系统内存,交换空间,io,cpu信息
**iostat **查看磁盘io性能
**top **动态查看系统当前进程信息CPU负载信息,内存信息,交换空间信息
**yum -y install dstat , dstat **获取占用cpu的进程
**uptime ;w **显示系统运行时间,登录用户 和 CPU 负载情况
**cat /proc/meminfo **查看内存
**top --> H **查看线程
**ps -T **查看线程

2、lvm逻辑卷如何创建

在这里插入图片描述

3、raid磁盘阵列

raid级别硬盘数量要求利用率有无冗余能力读写性能
raid0NN单个硬盘的n倍
raid1N(为偶数)N/2有,允许一个设备故障读性能提升,写没有提升
raid5N>=3(N-1) /N有,允许一个设备故障需要多写一份纠删码,所以写性能相对raid 0低一些
raid6N>=4(N-2) /N有,允许两个设备故障需要多写两份纠删码,所以写性能相对raid 5更低一些
raid10N>=4 (偶数)N/2有,允许不同组中各坏一个读性能可提升N倍,写性能提升N/2倍

4、开机引导过程

1 、 开机自检(BIOS):检测出第一个能够引导系统的设备,比如硬盘或者光驱。

2 、MBR 引导:运行放在MBR扇区里的启动GRUB引导程序

3 、[GRUB])菜单:GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置以及路径位置。

4 、加载Linux内核:把内核和镜像文件系统加载到内存中

5 、init 进程初始化:加载硬件驱动程序,以及初始化进程,内核把init进程加载到内存中运行

5、软连接硬链接

软连接:ln -s 源文件 链接文件

硬链接:ln 源文件 链接文件

6、查找文件命令

find、locate、whereis、which

find:

-a:and 必须满足两个条件才显示
-o:or 只要满足一个条件就显示
-name:按照文件名查找文件
-iname:按照文件名查找文件(忽略大小写)
-type:根据文件类型进行搜索
-perm:按照文件权限来查找文件
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-fprint 文件名:将匹配的文件输出到文件。
-newer file1 ! newer file2 查找更改时间比文件file1新但比文件file2旧的文件

7、yum仓库

8、文本三剑客grep、awk、sed

grep:

选项作用
-i查找时忽略大小写
-v反向查找(后面的查找的条件,是除了这个限制的信息,其余都显示)
-n显示行号
-r递归过滤文件夹中的所有文件
-A后面跟数字n +匹配的关键字,会显示关键字的后面n行
-B后面跟数字n +匹配的关键字,会显示关键字的前面n行
-C后面跟数字n +匹配的关键字,会显示关键字的前后n行
-e多条件查询(逻辑or或关系

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

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

相关文章

前端Vue入门-day07-Vuex入门

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 自定义创建项目 vuex概述 构建 vuex [多组件数据共享] 环境 创建一个空仓库 state 状态 1. 提供数据&…

【云原生】K8S超详细概述

目录 一、Kubernets概述1.1 K8S什么1.2为什么要用K8S 二、Kubernetes 集群架构与组件2.1Master组件Kube-apiserverKube-controller-managerKube-scheduler 2.2 配置存储中心etcd 2.3 Node 组件KubeletKube-Proxydocker 或 rocket 三、 Kubernetes 核心概念3.1Pod3.2Pod 控制器K…

python 变量赋值 修改之后 原值改变

ython 是一种动态语言,因此变量的类型和值 在运行时均可改变。当我们将一个变量赋值给另一个变量时,实际上是将变量的引用地址传递给新的变量,这意 味着新旧变量将指向同一个位置。因此,在更改其中一个变量的值时,另一…

SpringBoot项目-个人博客系统的实现【下】

10.实现强制要求登陆 当用户访问 博客列表页和 博客详情页时, 如果用户当前尚未登陆, 就自动跳转到登陆页面 1.添加拦截器 public class LoginInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletRespon…

解决Linux下PyCharm无法新建文件

一、问题描述 如图,在Ubuntu Linux系统中使用pycharm管理项目时,提示无法新建.py源文件: 二、问题解决 将问题定性为文件夹(目录)权限问题,在终端中打开项目文件夹的上级目录,将整个项目目录的…

全志F1C200S嵌入式驱动开发(应用程序开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 我们在开发soc驱动的时候,很多情况下也要验证下当前的驱动功能是否正确。当然除了验证驱动功能之外,我们还要编写业务代码和流程代码。这中间就和各行各业有关了,有的是算法,有…

你还不快来学习怎么翻译视频中的英语吗

年轻人纪逸是一个对世界充满好奇心的视频爱好者。每当他看到令人激动的视频时,总是忍不住想要将它与更多人分享。然而,有一天,他遇到了一个困扰:他发现了一段精彩的外语视频,但自己并不懂那种语言!他犯了愁…

动态规划01: 斐波那契数列模型

第 N 个泰波那契数(easy) 题目链接: 1137. 第 N 个泰波那契数 题目描述: 泰波那契序列 Tn 定义如下: T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n,请返回第 n 个泰波那契数 Tn 的值。 示例 1&…

k8s-服务发现service和ingress

回到目录 service用于集群内部应用的网络调用,处理东西流量 ingress用于集群外部用户访问内部服务,处理南北流量 一 kube-proxy三种代理模式 kubernetes集群中有三层网络,一类是真实存在的,例如Node Network、Pod Network,提供真…

Node.js究竟是什么?初学者指南

如果你正在考虑使用JavaScript进行后端开发,你会听到“Node.js”这个术语。Node通常与开发功能强大的web服务器联系在一起。 但 Node.js 究竟是什么?它是和 Angular 一样的 JavaScript 框架吗?它是一种编程语言吗?它是 JavaScrip…

中国中医中药元宇宙 中药材价格缘何“狂飙”

◇相比去年同期,有超200个常规品种涨幅高于50%,25个常用大宗药材涨幅超200%,个别品种甚至涨价4至9倍 ◇在中药材价格普遍高涨的情况下,部分市场仓库库存数量也较多,出现囤积居奇倾向 ◇“不少游资和热钱涌入中药材市场…

Spring Boot + Vue3前后端分离实战wiki知识库系统<十一>--文档管理功能开发三

文档内容的显示: 在上一次Spring Boot Vue3前后端分离实战wiki知识库系统<十>--文档管理功能开发二文档管理模块还差文档的显示木有完成,所以接下来先将这块模块给收尾了。 增加单独获取内容的接口: 概述&#xff…

设计模式、Java8新特性实战 - List<T> 抽象统计组件

一、背景 在日常写代码的过程中,针对List集合,统计里面的某个属性,是经常的事情,针对List的某个属性的统计,我们目前大部分时候的代码都是这样写,每统计一个变量,就要定义一个值,且…

ATTCK实战系列-红队评估 (红日靶场3)Vulnstack三层网络域渗透靶场

文章目录 环境配置靶场介绍靶场设置 外网渗透信息收集端口扫描目录扫描 漏洞发现与利用获取ssh账号密码,登录centos 提权 内网渗透建立代理内网信息收集smb暴破,获取本地管理员密码 横向移动使用psexec模块上线msf 环境配置 靶场介绍 靶场地址 http:/…

剑指Offer 20.表示数值的字符串

20.表示数值的字符串 题目 官方地址 代码(正则表达式) public boolean isNumeric (String str) {if (str null || str.length() 0)return false;return new String(str).matches("[-]?\\d*(\\.\\d)?([eE][-]?\\d)?"); }在给定的代码…

PCIE链路信息

目录 简介: 目的: 详情: 简介: PCIe有很多寄存器,也有很多控制,包括链路状态信息,上一节我们讲到了PCie的链路训练,这节文章将继续学习PCIe相关知识。 目的: 从设计…

【Python从小白到高手】---函数基础

个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【Python小白从入门到精通】🎈 本专栏旨在分享学习Python的一点学习心得,欢迎大家在评论区讨论💌 目录…

iPhone 6透明屏是什么?原理、特点、优势

iPhone 6透明屏是一种特殊的屏幕技术,它能够使手机屏幕变得透明,让用户能够透过屏幕看到手机背后的物体。 这种技术在科幻电影中经常出现,给人一种未来科技的感觉。下面将介绍iPhone 6透明屏的原理、特点以及可能的应用。 iPhone 6透明屏的原…

本地 shell无法连接centos 7 ?

1、首先检查是否安装ssh服务; yum list installed | grep openssh-server# 没有安装尝试安装下 yum install openssh-server 2、检查ssh服务是否开启 systemctl status sshd.service# 未开启,开启下 systemctl start sshd.service # 将sshd 服务添…

socker套接字

1.打印错误信息 2.socketaddr_in结构体 结构体: (部分库代码) (宏中的##) 3.manual TCP: SOCK_STREAM : 提供有序地,可靠的,全双工的,基于连接的流式服务 UDP: 面向数据报