面试总结!

OSI七层模型:


什么是OSI七层模型?


我们需要了解互联网的本质是一系列的网络协议,这个协议就叫做OSI协议(开放系统互联(Open System Interconnection)),它是由ISO(国际标准化组织)定义的。
需要注意,随着时代的发展,OSI已经被TCP/IP 4层模型淘汰,在当今世界上并没有大规模的使用。
那么对于OSI,人们按照功能不同,分工不同,人为的将OSI的分为七层。实际上这七层是并不存在的,也就是说没有这些概念,而我们今天提到的七层概念,只是人为的划分而已。目的只是为了让大家更好地理解这些都是用来做什么的。


三次握手四次挥手


所谓三次握手,即建立TCP连接,需要客户端和服务端总共发送至少三个包确认连接的建立。
1.请求连接‘
2.响应请求连接
3.确认接受响应,建立连接
四次挥手:
1.请求释放
2.收到请求,响应等待
3.完成,响应接受释放
4. 响应彻底释放

tcp/ip协议


TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求。

http协议


超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。

tcp和udp的区别


1、连接方面区别
TCP面向连接(如打电话要先拨号建立连接)。
UDP是无连接的,即发送数据之前不需要建立连接。
2、安全方面的区别
TCP提供可靠的服务,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。
UDP尽最大努力交付,即不保证可靠交付。
3、传输效率的区别
TCP传输效率相对较低。
UDP传输效率高,适用于对高速传输和实时性有较高的通信或广播通信。
4、连接对象数量的区别
TCP连接只能是点到点、一对- -的。
UDP支持一对一,一-对多,多对一和多对多的交互通信。

linux常见指令


权限查看
ls -l file 查看文件权限
ls -ld dir 查看目录权限
chmod --reference=/tmp /mnt/westosdir : 复制/tmp目录的权限到/mnt/westosdir上
chmod -R --reference=/tmp /mnt/westosdir : 复制/tmp目录的权限到/mnt/westosdir及目录中的子文件上
umask $:查看保留权力
umask 权限值 $: 临时设定系统预留权力
chown username file 更改文件拥有者
chgrp groupname file 更改文件拥有组

本地系统软件仓库的作用


#在系统中对软件进行管理
#rpm命令是不能解决依赖关系的
#如果需要软件在安装过程中自动解决依赖关系
#需要大家系统软件仓库
【name】
name= ** baseurl=*** gpgcheck=*** enable=1

dnf repolist 列出仓库信息
dnf clean all 清除系统中已经加载的仓库缓存信息
dnf install 安装
dnf remove 卸载
dnf reinstall 重新安装
dnf search 搜索

进程和线程


进程是指程序运行时的形态
进程是资源调用的最小单位
线程是进程的最小单位

进程查看命令


ps aux()
top 动态进程查看

杀死僵尸进程:


用top查看
kill -hup pid 子进程
kill -hup ppid 父进程
进程前后台调用
+ 把占用shell的进程打入后台挂起
bg 把后台挂起的进程运行起来
fg 把后台进程调回前台
& 运行进程在后台
jobs 查看当前shell中在后台的所有工作

查看文件内容


cat
功能: 查看目标文件的内容
head -n
功能:查看文件前多少行
tail -n
功能:查看文件后多少行
sed -n ‘a,b’ filename
功能:查看指定行

file
功能:查看文件类型

wc
功能:统计文件容量

wc -l 统计文件行数
-m 统计文件字符数
-w 统计文件单词数
-c 统计文件字节数

pwd
功能:显示当前工作目录

grep -o 查询关键字

grep -o | wc -l 统计次数


vim管理


vim /etc/vimrc vim配置文件 for all user
yxy 复制x行
dxd 删除x行
cxc 剪切x行

批量添加字符:
<1> C t r l+ v 选中插入字符所在列
<2> 按大写I 进入插入模式
<3> 插入要写入的字符
<4> E S C 退出插入模式
0VER

批量修改字符
:%s/原字符/替换字符/g %s全文的行,g全文的列
1,5s/: /@@/g 1,5 1-5行

gg 光标移动到文件第一行行首
G 光标移动到最后一行
:数字 光标移动到指定行

用户信息查看


id 查看用户id信息
-u 查看用户的用户id
-g 查看用户主组id
-G 查看用户所有的组的id
-n 显示名称

日志管理


journalctl
-n 3 日志的最新3条
–since " 12:00:00" 显示12:00后的日志
–until “13:00:00” 显示日志到13:00
-o 设定日志的显示方式

ip配置


在 /etc/sysconfig/network-script/XX.conf
nmcli connection network

数据库


SHOW DATABASES; 显示库名称
USE mysql; 进入mysql库
SHOW TABLES; 显示库中的所有表
SELECT * FROM user; 查询所有数据
SELECT Host,User,Password FROM user; 查询指定字段

CREATE USER lee@localhost identified by ‘lee’; 只能用localhost登陆
CREATE USER lee@% identified by ‘%’; 可以通过网络或localhost登陆
GRANT INSERT,SELECT ON westos.* TO lee@localhost;
SHOW GRANTS for lee@localhost;

连表查询:

mysqladmin -uroot -pwestos password doudou 更改密码
mysqldump -uroot -pwestos --all-database 备份数据库中的所有数据
mysqldump -uroot -pwestos --all-database --no-data 备份所有库的表结构,不备份内容
mysqldump -uroot -pwestos sk> /mnt/westos.sql 备份数据库sk的所有信息,重定向到指定位置
mysql -uroot -pwestos sk < /mnt/westos.sql 将备份文件导入数据库


mysql主从复制


MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。

主从复制的原理
①当Master节点进行insert、update、delete操作时,会按顺序写入到binlog中。

②salve从库连接master主库,Master有多少个slave就会创建多少个binlog dump线程。

③当Master节点的binlog发生变化时,binlog dump 线程会通知所有的salve节点,并将相应的binlog内容推送给slave节点。

④I/O线程接收到 binlog 内容后,将内容写入到本地的 relay-log。

⑤SQL线程读取I/O线程写入的relay-log,并且根据 relay-log 的内容对从数据库做对应的操作

mysql主从复制延迟的话


MySQL数据库主从同步延迟是怎么产生的?当主库的TPS并发较高时,产生的DDL数量超过slave一个sql线程所能承受的范围,那么延时就产生了,当然还有就是可能与slave的大型query语句产生了锁等待。首要原因:数据库在业务上读写压力太大,CPU计算负荷大,网卡负荷大,硬盘随机IO太高次要原因:读写binlog带来的性能影响,网络传输延迟。

MySql数据库从库同步的延迟解决方案
1)、架构方面

1.业务的持久化层的实现采用分库架构,mysql服务可平行扩展,分散压力。

2.单个库读写分离,一主多从,主写从读,分散压力。这样从库压力比主库高,保护主库。

3.服务的基础架构在业务和mysql之间加入memcache或者redis的cache层。降低mysql的读压力。

4.不同业务的mysql物理上放在不同机器,分散压力。

5.使用比主库更好的硬件设备作为slave总结,mysql压力小,延迟自然会变小。

2)、硬件方面

1.采用好服务器,比如4u比2u性能明显好,2u比1u性能明显好。

2.存储用ssd或者盘阵或者san,提升随机写的性能。

3.主从间保证处在同一个交换机下面,并且是万兆环境。

总结,硬件强劲,延迟自然会变小。一句话,缩小延迟的解决方案就是花钱和花时间。

3)、mysql主从同步加速

1、sync_binlog在slave端设置为0

2、–logs-slave-updates 从服务器从主服务器接收到的更新不记入它的二进制日志。

3、直接禁用slave端的binlog

4、slave端,如果使用的存储引擎是innodb,innodb_flush_log_at_trx_commit =2

4)、从文件系统本身属性角度优化

master端修改linux、Unix文件系统中文件的etime属性

binlog的模式


1、什么是binlog
binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库表和更改内容的SQL语句都会记录到binlog里,但是对库表等内容的查询不会记录。

默认情况下,binlog日志是二进制格式的,不能使用查看文本工具的命令(比如,cat,vi等)查看,而使用mysqlbinlog解析查看。

2.binlog的作用
当有数据写入到数据库时,还会同时把更新的SQL语句写入到对应的binlog文件里,这个文件就是上文说的binlog文件。使用mysqldump备份时,只是对一段时间的数据进行全备,但是如果备份后突然发现数据库服务器故障,这个时候就要用到binlog的日志了。

iptables三表五链:


关于:默认策略中的5条链
input : 输入
output : 输出
forward : 转发
postrouting : 路由之后
prerouting : 路由之前

默认的3张表
filter : 经过本机内核的数据(input output forward)
nat : 不经过内核的数据(postrouting,prerouting,input,output)
mangle : 当filter和nat表不够用时使用(input output forward ,postrouting,prerouting,)

##端口更改为8080
firewall-cmd --permanent --add-port=8080/tcp

iptables命令
-t 指定表名称
-n 不做解析
-L 查看
-A 添加策略
-p 协议
–dport

firewalld


firewall-cmd --state 查看火墙状态
firewall-cmd --get-active-zones 查看当前火墙中生效的域
firewall-cmd --get-default-zone 查看默认域
firewall-cmd --list-all 查看默认域中的火墙策略
firewall-cmd --list-all --zone=work 查看指定域的火墙策略
firewall-cmd --set-default-zone=trusted 设定默认域

firewall-cmd --get-services 查看所有可以设定的服务
firewall-cmd --permanent --remove-service=cockpit 移除服务
firewall-cmd --reload

firewall-cmd --permanent --add-source=172.25.254.0/24 --zone=block 指定数据来源访问指定域
firewall-cmd --reload
firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=block 删除自定域中的数据来源

firewall-cmd --permanent --remove-interface=ens224 --zone=public 删除指定域的网络接口
firewall-cmd --permanent --add-interface=ens224 --zone=block 添加指定域的网络接口
firewall-cmd --permanent --change-interface=ens224 --zone=public 更改网络接口到指定域

fdisk -l : 查看磁盘分区情况

mount -o 挂载参数 device 挂载点
取消挂载:
umount 设备|挂载点

nginx双向代理


代理也被称为正向代理,是一个位于客户端和目标服务器之间的代理服务器,客户端将发送的请求和制定的目标服务器都提交给代理服务器,然后代理服务器向目标服务器发起请求,并将获得的结果返回给客户端的过程

反向代理的对象就是服务器,即代理服务代理的时服务器而不是客户端,它的作用现在是代替服务器接受请求,而不在像正向代理那样代理客户端。

安全性:
正想代理的客户端能够在隐藏自身的同时访问任意网站,这给网络安全带来了极大的威胁。因此,在使用时必须采取安全的措施,以确保仅为经过授权的客户端提供服务。而反向代理的客户端只能通过外网访问代理服务器,并且用户不知道自己访问的是一个代理服务器,好处就是反向代理将真正的处理放在内网中,有效的提高了网络安全。

docker


Docker是管理容器的引擎。
Docker为应用打包、部署平台,而非单纯的虚拟化技术
docker search yakexi007
docker load -i mario.tar ##本地加载
docker pull yakexi007/game2048
docker inmages
docker run -d --name demo -p 80:8080 mario
docker run -it --name demo busybox
docker ps -a
docker rmi demo:v1
docker rm demo删掉demo后,不影响v1镜像!

导入文件到镜像中:
cat Dockerfile
FROM busybox
RUN echo westos > testfile

k8s


Kubernetes不是一个容器化平台,而是一个多容器管理解决方案。
Docker提供容器的生命周期管理,Docker镜像构建运行时容器。但是,由于这些单独的容器必须通信,因此使用Kubernetes。因此,我们说Docker构建容器,这些容器通过Kubernetes相互通信。因此,可以使用Kubernetes手动关联和编排在多个主机上运行的容器。

.Kubernetes主要由以下几个核心组件组成
etcd:保存了整个集群的状态
apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制
controller manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等
scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上
kubelet:负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理
Container runtime:负责镜像管理以及Pod和容器的真正运行(CRI)
kube-proxy:负责为Service提供cluster内部的服务发现和负载均衡
kubeadm init --pod-network-cidr=10.244
kubeadm join *********
kubectl apply -f kube-flannel.yml
kubectl get pod --namespace kube-system
kubectl run nginx --image=myapp:v1
kubectl get nodes
kubectl delete pod nginx
kubectl get pod -o wide
kubectl describr svc php-apache
kubectl delete sc managed-nfs-storage

 Beta 测试与 Alpha 测试有什么区别?

–Beta testing(β 测试 ), 测试是软件的多个用户在一个或多个用户的实际使用环境 下进行的测试。 开发者通常不在测试现场 –Alpha testing (α 测试 ), 是由一个用户在开发环境下进行的测试, 也可以是公司内 部的用户在模拟实际操作环境下进行的受控测试

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人工智能技术:未来生活的“魔法师”

想象一下&#xff0c;未来的某一天&#xff0c;你醒来时&#xff0c;智能助手已经为你准备好了早餐&#xff0c;你的智能家居系统根据你的心情和日程安排调整了室内的光线和音乐&#xff0c;而你的自动驾驶汽车已经在门口等你。这不是科幻小说&#xff0c;这是人工智能技术为我…

Multi Agents协作机制设计及实践

01 多智能体协作机制的背景概述 在前述博客中&#xff0c;我们利用LangChain、AutoGen等开发框架构建了一个数据多智能体的平台&#xff0c;并使用了LangChain的Multi-Agents框架。然而&#xff0c;在实施过程中&#xff0c;我们发现现有的框架存在一些局限性&#xff0c;这些…

100、Python并发编程:保护临界资源的最简单方式,加锁

引言 前面的文章中已经提到了并发编程中能够带来性能提升的同时&#xff0c;也带来了一些问题&#xff0c;比如对共享资源/临界资源的竞争&#xff0c;可能会导致状态的不一致。最终的结果是虽然性能提升了&#xff0c;但是结果却是错误的…… 所以&#xff0c;并发编程中一个…

PHP电商供应链ERP管理系统小程序源码

&#x1f680;电商供应链大揭秘&#xff01;ERP管理系统如何重塑你的商业版图✨ &#x1f50d; 什么是电商供应链ERP管理系统&#xff1f; 电商供应链ERP管理系统是一款基于FastAdminThinkPHP开发的系统。该系统可满足电商企业管理自身进销存&#xff0c;帮助中小型电商企业管…

python: Parent-child form operations using ttkbootstrap

# encoding: utf-8 # 版權所有 2024 ©塗聚文有限公司 # 許可資訊查看&#xff1a;言語成了邀功的功臣&#xff0c;還需要行爲每日來值班嗎&#xff1f; # 描述&#xff1a; 主、子表單 窗體傳值 Parent-child form operations # Author : geovindu,Geovin Du 塗聚文. …

跳表原理笔记

课程地址 跳表是一种基于随机化的有序数据结构&#xff0c;它提出是为了赋予有序单链表以 O(logn) 的快速查找和插入的能力 创建 首先在头部创建一个 sentinel 节点&#xff0c;然后在 L1 层采用“抛硬币”的方式来决定 L0 层的指针是否增长到 L1 层 例如上图中&#xff0c;L…

医院信息化与智能化系统(17)

医院信息化与智能化系统(17) 这里只描述对应过程&#xff0c;和可能遇到的问题及解决办法以及对应的参考链接&#xff0c;并不会直接每一步详细配置 如果你想通过文字描述或代码画流程图&#xff0c;可以试试PlantUML&#xff0c;告诉GPT你的文件结构&#xff0c;让他给你对应…

selenium操作已开启的浏览器,方便调试

一、谷歌浏览器配置&#xff1a; 在所安装的谷歌下面&#xff0c;执行下面命令&#xff0c;打开谷歌浏览器&#xff0c;用来selenium的操作&#xff1a; 注意事项&#xff1a;端口需要不被占用&#xff0c;--user-data-dir"D:\workspace\chrome-data"这个路径需要有…

深度强化学习:从理论到应用

目录 1.引言 2.什么是强化学习&#xff1f; 3.深度学习和强化学习的结合 4.深度强化学习的主要方法 5.深度强化学习的应用领域 6.深度强化学习的挑战与未来 7.总结 1.引言 深度强化学习&#xff08;Deep Reinforcement Learning&#xff0c;DRL&#xff09;是近年来人工…

[Linux] 进程控制之创建和终止

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;青果大战linux 总有光环在陨落&#xff0c;总有新星在闪烁 每日吐槽 不得不说&a…

介绍一下rand函数生成随机数(c基础)

适合对象 c语言初学者 总结语言用色&#xff0c;个人强调用红色&#xff0c;注意为易错点&#xff0c;若有问题请告诉我谢谢。(建议通过目录观看)。一定要自己动手打代码。 rand函数 是生成随机数的函数&#xff0c;但实则是伪随机数。(即是同一个值) 格式 #include<st…

vue3入门知识(一)

vue3简介 性能的提升 打包大小减少41%初次渲染快55%&#xff0c;更新渲染快133%内存减少54% 源码的升级 使用Proxy代替defineProperty实现响应式重写虚拟DOM的实现和Tree-Shaking 新的特性 1. Composition API&#xff08;组合API&#xff09; setupref与reactivecomput…

FET113i-S核心板已支持RISC-V,打造国产化降本的更优解 -飞凌嵌入式

FET113i-S核心板是飞凌嵌入式基于全志T113-i处理器设计的国产工业级核心板&#xff0c;凭借卓越的稳定性和超高性价比&#xff0c;FET113i-S核心板得到了客户朋友们的广泛关注。作为一款拥有A7核RISC-V核DSP核的多核异构架构芯片&#xff0c;全志科技于近期释放了T113-i的RISC-…

C语言进阶:二.数据的存储(2)

❤个人主页❤&#xff1a;折枝寄北-CSDN博客 ❤学习专栏❤&#xff1a; C语言专栏&#xff1a;https://blog.csdn.net/2303_80170533/category_12794764.html?spm1001.2014.3001.5482https://blog.csdn.net/2303_80170533/category_12794764.html?spm1001.2014.3001.5482 在…

城市智慧公厕解决方案,建设城市智能化公厕

在城市的飞速发展进程中&#xff0c;公厕作为城市基础设施的重要一环&#xff0c;其智能化建设已成为提升城市品质与居民生活舒适度的关键举措。以下是关于城市智慧公厕的几点解决方案。 一、智能设施配备 首先&#xff0c;要引入智能化的卫生设备。例如&#xff0c;安装自动感…

【STL栈和队列】:高效数据结构的应用秘籍

前言&#xff1a; C 标准模板库&#xff08;STL&#xff09;为我们提供了多种容器&#xff0c;其中 stack&#xff08;栈&#xff09;和 queue&#xff08;队列&#xff09;是非常常用的两种容器。 根据之前C语言实现的栈和队列&#xff0c;&#xff08;如有遗忘&#xff0c;…

vue data变量之间相互赋值或进行数据联动

摘要&#xff1a; 使用vue时开发会用到data中是数据是相互驱动&#xff0c;经常会想到watch,computed&#xff0c;总结一下&#xff01; 直接赋值&#xff1a; 在 data 函数中定义的变量可以直接在方法中进行赋值。 export default {data() {return {a: 1,b: 2};},methods: {u…

HTML 基础标签——分组标签 <div>、<span> 和基础语义容器

文章目录 1. `<div>` 标签特点用途示例2. `<span>` 标签特点用途示例3. `<fieldset>` 标签特点用途示例4. `<section>` 标签特点用途示例5. `<article>` 标签特点用途示例总结HTML中的分组(容器)标签用于结构化内容,将页面元素组织成逻辑区域…

Java开发配置文件的详情教程配置文件类型

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 IDEA编程利器技巧(编写中……&#xff09; 5、面经吐血整理的 面试技…

全面解析:网络协议及其应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 全面解析&#xff1a;网络协议及其应用 全面解析&#xff1a;网络协议及其应用 全面解析&#xff1a;网络协议及其应用 网络协议…