面试总结!

news2024/11/13 18:49:47

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 (α 测试 ), 是由一个用户在开发环境下进行的测试, 也可以是公司内 部的用户在模拟实际操作环境下进行的受控测试

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

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

相关文章

MATLAB实现智能水滴算法(Intelligent Water Drops Algorithm, IWDA)

1.智能水滴算法介绍 智能水滴算法&#xff08;Intelligent Water Drops Algorithm&#xff0c;IWDA&#xff09;是一种基于水滴特性的智能优化算法&#xff0c;它借鉴了水滴在自然界中的运动和形态变化规律&#xff0c;通过模拟水滴的形成、发展和消亡过程&#xff0c;实现问题…

RabbitMQ延迟队列(重要)

RabbitMQ延迟队列 1、延迟队列1.1、延迟队列使用场景1.2、延迟队列实现原理 2、使用rabbitmq-delayed-message-exchange 延迟插件2.1、下载2.2、安装2.2.1、解压2.2.2、启用插件2.2.3、查询安装情况 2.4、示例2.4.1、RabbitConfig配置类&#xff08;关键代码&#xff09;2.4.2、…

Tencent Hunyuan3D

一、前言 腾讯于2024年11月5日正式开源了最新的MoE模型“混元Large”以及混元3D生成大模型“Hunyuan3D-1.0”&#xff0c;支持企业及开发者在精调、部署等不同场景下的使用需求。 GitHub - Tencent/Hunyuan3D-1 二、技术与原理 Hunyuan3D-1.0 是一款支持文本生成3D&#xff08;…

新品发布:广州大彩科技DB系列5.0寸带CAN/RS485外壳串口屏发布!

新品发布:广州大彩科技DB系列5.0寸带CAN/RS485外壳串口屏发布! 一、产品介绍 该产品是一款5寸的医疗级外壳系列组态串口屏&#xff0c;液晶屏采用800*480分辨率&#xff0c;拥有电阻触摸。硬件上针对工控行业&#xff0c;汽车行业串口使用RS485电平&#xff0c;并且另外加入了…

Js — 定时器

有两种&#xff1a;setInterval 和 setTimeout 间隔时间单位为毫秒 setInterval 每隔指定的毫秒数重复执行一个函数或代码 开启定时器&#xff1a;setInterval(函数&#xff0c;间隔时间) 作用&#xff1a;每隔一段时间调用这个函数 注意&#xff1a;它不是立即执行&#x…

WPF+MVVM案例实战与特效(二十六)- 3D粒子方块波浪墙效果实现

文章目录 1、案例效果2、案例实现1、文件创建2. 功能代码实现3、粒子功能应用1、前端布局与样式2、代码解释2、 后端功能代码1、案例效果 2、案例实现 1、文件创建 打开 Wpf_Examples 项目、Models 文件夹下创建 3D粒子模型类 ParticleCubeWaveModel.cs 文件。在Tools 文件夹…

Linux命令 - linux索引节点、硬链接、软链接的介绍与使用

文章目录 1 索引节点inode2 硬链接Hard Link3 软链接Soft Link 1 索引节点inode 在Linux系统中&#xff0c;保存在磁盘分区中的文件&#xff0c;不管是什么类型&#xff0c;系统都会给它分配一个编号&#xff0c;这个编号被称为索引节点编号&#xff08;Inode Index&#xff0…

基于Python通过DOI下载文献(至简仅需2行代码)

文章目录 一、安装库二、导入库三、准备doi3.1 excel法3.1.1 检索数据3.1.2 导出excel 3.2 txt法3.3 列表or字符串法3.3.1 字符串3.3.2 列表 四、下载4.1 脚本4.2 下载成功4.3 已存在4.4 至于失败的 五、结果5.1 目标文件夹5.2 失败记录 一、安装库 pip install OAFuncs 二、导…

SpringBoot技术在企业资产管理中的应用

4系统概要设计 4.1概述 系统设计原则 以技术先进、系统实用、结构合理、产品主流、低成本、低维护量作为基本建设原则&#xff0c;规划系统的整体构架. 先进性&#xff1a; 在产品设计上&#xff0c;整个系统软硬件设备的设计符合高新技术的潮流&#xff0c;媒体数字化、压缩、…

OpenHarmony4.1蓝牙芯片如何适配?触觉智能RK3568主板SBC3568演示

当打开蓝牙后没有反应时&#xff0c;需要排查蓝牙节点是否对应、固件是否加载成功&#xff0c;本文介绍开源鸿蒙OpenHarmony4.1系统下适配蓝牙的方法&#xff0c;触觉智能SBC3568主板演示 修改对应节点 开发板蓝牙硬件连接为UART1&#xff0c;修改对应的节点&#xff0c;路径为…

招标采购系统(源码+文档+部署+讲解)

本文将深入解析“招标采购系统&#xff08;供应商管理系统&#xff09;”的项目&#xff0c;探究其架构、功能以及技术栈&#xff0c;并分享获取完整源码的途径。 系统概述 包含基础数据管理、供应商和专家库管理&#xff0c;还涉及招标代理机构、政策法规和文件模板的管理。…

javascript里面的blob和worker

目录 Blob 1. Blob的基本概念 2. 创建Blob 3. Blob的属性和方法 示例&#xff1a; 3.1. Blob 的方法 4. 使用Blob 4.1 创建对象URL 4.2 使用FileReader读取Blob 4.3 上传Blob 5. Blob与其他对象的关系 6. 释放Blob对象 7. Blob的应用场景 8. 总结 Web Worker 1.…

Android JNI 技术入门指南

引言 在Android开发中&#xff0c;Java是一种主要的编程语言&#xff0c;然而&#xff0c;对于一些性能要求较高的场景&#xff08;如音视频处理、图像处理、计算密集型任务等&#xff09;&#xff0c;我们可能需要使用到C或C等语言来编写底层的高效代码。为了实现Java代码与C…

设计模式之抽象工厂模式(替换Redis双集群升级,代理类抽象场景)

前言&#xff1a; 看了很多书、学了很多知识&#xff0c;多线程能玩出花&#xff0c;可最后我还是写不好代码&#xff01; 这就有点像家里装修完了买物件&#xff0c;我几十万的实木沙发&#xff0c;怎么放这里就不好看。同样代码写的不好并不一定是基础技术不足&#xff0c;也…

LeetCode 热题 100之 堆

1.数组中第k个最大元素 和Acwing 786 第k个数一模一样 排序 思路分析1&#xff1a;此题要求时间复杂度未为O(n)。虽然库函数sort和快速排序都能过&#xff0c;但是时间复杂度不满足条件。下面优化快速排序&#xff0c;写一个快速选择算法。我们可以引入随机化来加速这个过程&…

java-智能识别车牌号_基于spring ai和开源国产大模型_qwen vl

用大模型做车牌号识别&#xff0c;最简单高效 在Java场景中&#xff0c;java识别车牌号的需求非常普遍。过去&#xff0c;我们主要依赖OCR等传统方法来实现java识别车牌号&#xff0c;但这些方法的效果往往不稳定。随着技术的发展&#xff0c;现在有了更先进的解决方案——大模…

java ssm 网上蛋糕店 在线蛋糕甜品管理 网上蛋糕管理 源码 jsp

一、项目简介 本项目是一套基于SSM的网上蛋糕店&#xff0c;主要针对计算机相关专业的和需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、数据库脚本、软件工具等。 项目都经过严格调试&#xff0c;确保可以运行&#xff01; 二、技术实现 ​后端技术&#xff1a;S…

Qt编译lua库并调用

参考博客&#xff1a; 编译lua库 参考下面文章编译lua库文件 QT5.9学习笔记之QT编译lua库_qtluaintf.h-CSDN博客 https://blog.csdn.net/qq_23345187/article/details/112710677 Qt代码引用lua库文件 打开pro项目文件&#xff0c;右键空白处&#xff0c;点击添加库&#xff…

shopify模块新增内容或图片

1、后台找到指定的liquid页面&#xff0c;在该页面下方{% schema %} 新增需求 2、添加轮播图功能 {% comment %} 轮播代码 {% endcomment %}{% if block.settings.enable_slider %}<divclass"size-guide-slider swiper"data-slides-per-view"{{ block.setti…

【Ant Design Pro】不想用轻量的hook就喜欢用dva的数据状态管理

就像TS是JS的超集一样&#xff0c;antdpro框架也类似&#xff0c;底层也是用dva来构建的。关于数据管理&#xff0c;官方还是建议我们使用轻量的hooks方法来进行操作使用。 使用dva实现数据状态管理效果 框架中的数据管理模式 简单的数据共享 对于简单的应用&#xff0c;不需…