技术点汇总

本文整理了面试中常见的技术问题,涵盖网络、BGP、OSPF、数据库、Linux运维、Shell脚本、TCP/IP、虚拟化、Docker、Kubernetes、MySQL、Nginx、Tomcat等多个方面,包括三次握手四次挥手的原理、BGP的内部和外部使用场景、OSPF的状态变化、Linux QoS、TCP与UDP的区别、MySQL主从复制的优化、死锁的解决与预防、Docker网络配置、K8S组件功能、虚拟化技术如KVM和Docker的差异等,旨在帮助读者全面了解和复习相关知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-----------------面试常问题--------------------------

------------------网络----------------------------
1、介绍一下三次握手四次挥手、为什么要有四次
三次握手:
三次握手: 假如两台服务器PC1、PC2
1、PC1想与PC2建立连接,先发送SYN报文(SYN=1)请求建立连接PC1seq序号x。

2、PC2接收到之后发送SYN和ACK报文,就是(ACK=1)确认并也(SYN=1)请求建立连接PC2seq是y,Ack=x+1,这个Ack是确认号,代表前面PC1的x已经收到。

3、PC1收到PC2的请求建立连接,也进行(ACK=1)确认,并进行回复seq=x+1,Ack=y+1代表PC2的y已收到。

四次挥手:

1、PC1想要与PC2断开连接,先发送(FIN=1)请求断开和(ACK=1)确认。
2、PC2回复(ACK=1)同意断开。

这是已成半断开,这时PC1已无法继续连接PC2,但是PC2仍能给PC1发送数据。

3.接着PC2也想断开与PC1的连接,发送(FIN=1)并(ACK=1)确认。
4.PC1(ACK=1)确认断开。

四次挥手:(为什么要有四次也是这个答案):
因为tcp协议是面向连接的安全可靠的传输层协议,同时也是全双工通信,不能单方面完全断开连接,需要双方进行确认无误后,可以断开

顺序为PC1请求断开,PC2同意断开,此时半断开状态,PC2仍然可以发送数据给PC1,但是PC1无法回复,然后PC2请求断开,PC1确认断开,此时完全断开连接。

2、BGP有哪几种类型,分别使用于哪些场景

IBGP:用于内部

EBGP:用于外部

3、OSPF 有七种状态(出现频率不高)
①.Down:此状态还没有与其他路由器交换信息。首先从其ospf接口向外发送hello分组,还并不知道DR(若为广播网络)和任何其他路由器。发送hello分组是,使用组播地址22 4.0.0.5。
②. Init:在DeadInterval里收到了Hello包,2-Way通信还没有建立起来的状态。
③. two-way:双向会话建立,而RID彼此出现在对方的邻居列表中。(若为广播网络:例如:以太网。在这个时候应该**DR,BDR。)
④. ExStart:信息交换初始状态,在这个状态下,本地路由器和邻居将建立Master/Slave关系,并确定DD Sequence Number,路由器ID大的的成为Master。
⑤. Exchange:信息交换状态:本地路由器和邻居交换一个或多个DBD分组(也叫DDP) 。DBD包含有关LSDB中LSA条目的摘要信息。
⑥.Loading:信息加载状态:收到DBD后,使用LSACK分组确认已收到DBD。将收到的信息同LSDB中的信息进行比较。如果DBD中有更新的链路状态条目,则想对方发送一个LSR, 用于请求新的LSA 。
⑦. Full:完全邻接状态,这种邻接出现在Router LSA和Network LSA中。

4、OSPF有哪五种报文(出现频率不高)
①、Hello包:用于发现和维持邻居关系,选举DR和BDR
②、数据库描述包(DBR):用于向邻居发送摘要信息以同步链路状态数据库
③、链路状态请求包(LSR):在路由器收到包含新信息的DBD后发送,用于请求更 详细的信息
④、链路状态更新包(LSU):收到LSR后发送链路状态通告(LSA),一个LSU数据 包可能包含几个LSA
⑤、链路状态确认包(LSAck):确认已经收到DBD/LSU,每个LSA需要被分别确认

5、你用过哪些设备(华为设备还是思科设备)
华为设备:静态路由、单臂路由、MSTP、LACP、VRRP、DHCP、ACL、NAT、RIP、OSPF、BGP等配置

6、二层交换机能做什么
VLAN控制服务器的网络接入,实现网络隔离、流量监控、QoS配置、流量优化等

  1. Qos是什么
    QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。QoS的保证对于容量有限的网络来说是十分重要的,特别是对于流多媒体应用,例如VoIP和IPTV等,因为这些应用常常需要固定的传输率,对延时也比较敏感。

8、TCP UDP 区别
①、需不需要回复:TCP需要回复,UDP不需要回复
②、TCP 可靠性高 UDP传输速度快
③、场景
TCP UDP 使用场景的对比:TCP需要建立长连接的场景

8、使用软防火墙进行地址映射
iptables和firewalld

iptables四表五链
(一)、四表
raw表:确定是否对该数据包进行状态跟踪。包含两个规则链,OUTPUT、PREROUTING。
mangle表:修改数据包内容,用来做流量整形的,给数据包设置标记。包含五个规则链:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING。
nat表:负责网络地址转换,用来修改数据包中的源、目标IP地址或端口。包含三个规则链:OUTPUT、PREROUTING、POSTROUTING。
filter表:负责过滤数据包,确定是否放行该数据包(过滤) 。包含三个规则链:INPUT、FORWARD、 OUTPUT。
注:在iptables的四个规则表中,mangle表和raw表的应用相对较少。

(二)、五链
INPUT:处理入站数据包,匹配目标 IP 为本机的数据包。
OUTPUT:处理出站数据包,一般不在此链上做配置。
FORWARD:处理转发数据包,匹配流经本机的数据包。
PREROUTING链:在进行路由选择前处理数据包,用来修改目的地址,用来做DNAT。相当于把内网服务器的IP和端口映射到路由器的外网IP和端口上。
POSTROUTING链:在进行路由选择后处理数据包,用来修改源地址,用来做SNAT,相当于内网通过路由器NAT转换功能实现内网主机通过一个公网IP地址上网。

iptables中DNAT与SNAT的配置:
iptables -t nat -A PREROUTING -i ens36 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.200.11
使用PREROUTING链 指定入站端口ens36 指定端口号80

iptables -t nat -A POSTROUTING -o ens36 -s 192.168.200.0/24 -j SNAT --to 12.0.0.1

---------------------------shell----------------------------------

1、shell 脚本数组 函数

$$:Shell本身的PID(ProcessID,即脚本运行的当前 进程ID号)
$!:Shell最后运行的后台Process的PID(后台运行的最后一个进程的 进程ID号)
$?:最后运行的命令的结束代码(返回值)即执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$-:显示shell使用的当前选项,与set命令功能相同
∗ : 所 有 参 数 列 表 。 如 " *:所有参数列表。如"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值