当前位置: 首页 > news >正文

以往运维岗本人面试真题分享

                              以下是本人面试运维岗的一些面试经历,在此做个记录分享

目录

 TCP/IP三次握手

IPtables

IPtables四表五链都是什么?

nat端口如何做?

开放本机的80端口该如何做?

如何在单用户模式下引导Centos?

nginx轮询模式都有哪些?

Mysql主从同步原理

Redis的数据持久化机制是什么?

Shell脚本

单引号和双引号的区别是什么?

 $@    $*    $?   是干什么用的?

计算1+2+3+......+100的值

批量创建20个用户,并将密码设置为当前登录的用户名

 /var/log/nginx/access.log 日志访问量最多的前十个IP

Python

打开文件有几种方式,有啥区别?

列表和元组有什么不同?

pass语句有啥用?

return和print有啥区别?

安装模块用什么命令?

Docker

简述docker和虚拟机的区别

docker run -itd 和 -e 参数是什么意思?

如何将容器中的端口映射到宿主机?

如何将镜像文件保存并导入?

Dockerfile中暴漏端口的参数是什么?

Dockerfile中 COPY和ADD的区别?

K8s

K8s的核心组件都有什么?

K8s创建一个Pod的流程

k8s的控制器都有哪些,有什么区别?

Pod状态都有哪些?

Elasticsearch的分片和副本是什么?

做过系统内核调优吗?

如果需要做系统安全加固,考虑从哪些方面着手?

nginx服务器无法提供服务排查思路?

讲讲对Prometheus的认识吧

为什么先定位原因,再解决问题?


 TCP/IP三次握手

客户端想要连接服务端时,向服务端发送 SYN message。Message 还包含 sequence number(32位的随机数),ACK 为0

服务端收到客户端 synchronization request 后,回复客户端 SYN 和 ACK。ACK 数值是收到的 SYN 加一

收到服务端的 SYN 后,客户端回复 ACK,ACK 值是 SYN 值加一,建立连接

IPtables

  • IPtables四表五链都是什么?

       四表(table):raw、mangle、nat、filter

       五链(chain):PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING

  • nat端口如何做?

       iptables -t nat -A PREROUTING -p tcp --dport 80 -d 192.168.1.1 -j DNAT --to-destination 172.23.100.100:8080

  • 开放本机的80端口该如何做?

       iptables -A INPUT -p tcp --dport 80 -j ACCEPT
 

如何在单用户模式下引导Centos?

重新启动按e编辑

进入 grub 提示符转到以 linux 开头的行尾,输入 rd.break 并回车

用rw模式挂载root文件系统,mount -o remount,rw /sysroot

然后执行 chroot /sysroot

nginx轮询模式都有哪些?

普通轮询、权重、ip_hash、第三方:响应时间,最少链接等

Mysql主从同步原理

主服务器把数据修改之后,会放入到二进制日志中(binary log)中,然后通过内部进程机制把日志传递到从服务器(从服务器在通过IO线程写入到中继日志)中并表示为中继日志(中继日志在通过sql线程传输给从服务器并执行),从而达到了主从一致
从服务器有俩个线程(I/O线程和SQL线程)I/O线程负责把主服务器上的日志拉取过来,slq线程是负责把日志执行.

核心命令例如:

    show master status;

    change master to

Redis的数据持久化机制是什么?

RDB(快照方式): RDB方式是一种快照式的持久化方法,将某一时刻的数据持久化到磁盘中。这种方式就是将内存中数据以快照的方式写入到二进制文件中 ,默认的文件名为dump.rdb。

AOF(日志追加): AOF方式是将执行过的写指令记录下来,在数据恢复时按照从前到后的顺序再将指令执行一遍。这种方式 redis 会将每一个收到的写命令都通过 write 函数追加到文件中(默认appendonly.aof)。

Shell脚本

  • 单引号和双引号的区别是什么?

       单引号定义字符串所见即所得,即将单引号内的内容原样输出

       双引号引用的内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容

  •  $@    $*    $?   是干什么用的?

       $@:表示执行脚本传入参数的所有个数,将命令行的所有参数区分成各个参数

       $*:表示执行脚本传入参数的列表,将命令行的所有参数看作一个整体

       $?:表示脚本执行的状态,0表示正常,其他表示错误

  • 计算1+2+3+......+100的值
#!/bin/bashsum=0
for i in {1..100}
dosum=$((sum + i))
doneecho "1 加到 100 的和是: $sum"

  • 批量创建20个用户,并将密码设置为当前登录的用户名
#!/bin/bash# 获取当前登录用户的用户名
CURRENT_USER=$(whoami)# 循环创建20个用户,从 user1 到 user20
for i in $(seq 1 20); doUSER="user$i"# 创建用户useradd $USER# 设置用户密码为当前用户的用户名echo "$USER:$CURRENT_USER" | chpasswd# 显示创建和设置密码信息echo "User $USER created and password set to $CURRENT_USER."
done

  •  /var/log/nginx/access.log 日志访问量最多的前十个IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10

Python

我不是干Python开发的,所以问的都是基础,和业务逻辑没有关系

  • 打开文件有几种方式,有啥区别?

       open函数,需要使用close函数手动关闭文件

       with open as file:自动关闭文件

  • 列表和元组有什么不同?

       列表是可变的

       元组是不可变的

  • pass语句有啥用?

       没想好函数功能怎么写,但为了保证语法检查的正确必须输入一些东西,使用 pass 语句。

  • return和print有啥区别?

       return是返回计算值,return 语句可以返回任何类型的数据,包括字符串、数字、列表、字典、对象等。

       print是打印数据到屏幕。

       return返回的结果不能直接输出到控制台,需要通过print才能打印出来。

  • 安装模块用什么命令?

       pip install

Docker

  • 简述docker和虚拟机的区别

       虚拟机是一种基于硬件虚拟化的解决方案,通过在物理服务器上运行一个虚拟化层(Hypervisor),在同一物理硬件上运行多个独立的操作系统实例每个虚拟机都是一个完整的操作系统实例,包含虚拟的 CPU、内存、存储等资源。虚拟机与其他虚拟机和主机操作系统完全隔离。

       Docker 容器是一个轻量级、可移植的运行环境,它包含应用程序及其依赖的所有文件。容器之间是基于内核的 cgroups 和 namespaces 实现资源隔离、限制和命名空间相互隔离的,但共享主机的操作系统内核,隔离容器是运行在共享操作系统上的独立环境,容器内的应用与外界隔离,

  • docker run -itd 和 -e 参数是什么意思?

       -i:交互模式运行容器

       -t: --tty,为容器分配个伪终端

       -d:后台模式运行并返回容器ID

       -e:环境变量

  • 如何将容器中的端口映射到宿主机?

       docker run -itd -p 8080:80 nginx /bin/bash

  • 如何将镜像文件保存并导入?

       docker save -o nginx.tar nginx:latest

       docker load -i nginx.tar

  • Dockerfile中暴漏端口的参数是什么?

       EXPOSE

  • Dockerfile中 COPY和ADD的区别?

       COPY:纯粹地将从构建上下文(即执行 docker build 命令时指定的目录及其子目录)中的文件或目录复制到镜像中指定的路径

       ADD:除了COPY的基本功能以外,还支持 解压归档文件: ADD 指令如果遇到压缩文件(如 .tar, .tar.gz, .zip 等),会自动解压这些文件到目标路径;从 URL 下载文件: ADD 还支持从URL来源复制文件,这意味着可以直接从互联网上下载文件并将其添加到镜像中。

K8s

  • K8s的核心组件都有什么?

       master上是kube-controller-manager、kube-apiserver、kube-scheduler、etcd

       worker上是kubelet、kube-proxy

  • K8s创建一个Pod的流程

       客户端提交Pod的配置信息到kube-apiserver。

       Apiserver收到指令后,通知给controller-manager创建一个资源对象。

       Controller-manager通过api-server将pod的配置信息存储到etcd数据中心中。

       Kube-scheduler检测到pod信息会开始调度预选适合运行pod的节点,然后将pod的资源配置单发送到node节点上的kubelet

       Kubelet根据scheduler发来的资源配置单运行pod,运行成功后,将pod的运行信息返回给scheduler,scheduler将返回的pod运行状况的信息存储到etcd数据中心。

  • k8s的控制器都有哪些,有什么区别?

       Deployment、Statefulset、DaemonSet 

       Deployment用于部署无状态服务,例如 Web 服务器、API 服务、负载均衡器等,这些服务可以水平扩展处理更多的请求流量

       Statefulset用于部署有状态服务,例如数据库系统(如 MySQL、PostgreSQL)、消息队列(如 RabbitMQ、Kafka)等,这些服务需要持久性存储和网络标识的稳定性。

       Damonset可以理解为是节点守护进程,每个node都必须有并且只有一个。常见的比如日志采集、守护进程等.

  • Pod状态都有哪些?

       Running:运行中,pod已经分配到节点上且pod内容器正常运行。

       Pending:挂载状态,pod已经创建好了但是没被分配到节点上。(出现此问题原因很多:资源不足、网络原因、端口被占用等等)

       Failed:失败,容器内的返回码是非零状态退出,进入失败状态。(logs -f查看pod日志及desceibe pod查看pod详细情况也可以排查其错误原因。)

       Terminating(终止):pod正在删除中。

       Unknow(未知):一般是集群出现问题;api出现问题;或者是api和调度器之间通信有问题;证书过期

       imagePullBackOff:拉取镜像失败

       CrashLoopBackOff:容器已经启动但是异常退出了,查看日志或者pod详细情况查找问题。

       error:pod启动过程中报错,可日志查看原因

       Podlniitializing:初始化中(pod中有初始化init容器)

       Evict:pod被驱逐

Elasticsearch的分片和副本是什么?

分片Shards

一个索引可以存储超出单个节点硬件限制的大量数据。比如,一个具有 10 亿文档数据 的索引占据 1TB 的磁盘空间,而任一节点都可能没有这样大的磁盘空间。 或者单个节点处理搜索请求,响应太慢。为了解决这个问题,Elasticsearch 提供了将索引划分成多份的能力,每一份就称之为分片。当你创建一个索引的时候,你可以指定你想要的分片的数量。每个分片本身也是一个功能完善并且独立的“索引”,这个“索引”可以被放置到集群中的任何节点上。

副本Replicas
在一个网络 / 云的环境里,失败随时都可能发生,在某个分片/节点不知怎么的就处于 离线状态,或者由于任何原因消失了,这种情况下,有一个故障转移机制是非常有用并且是强烈推荐的。为此目的, Elasticsearch 允许你创建分片的一份或多份拷贝,这些拷贝叫做复制分片(副本)。

默认情况下,Elasticsearch 中的每个索引被分片 1 个主分片和 1 个复制,这意味着,如果你的集群中至少有两个节点,你的索引将会有 1 个主分片和另外 1 个复制分片(1 个完全拷贝)

做过系统内核调优吗?

配置文件   /etc/sysctl.conf#关ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1#避免放大攻击
net.ipv4.icmp_echo_ignore_broadcasts = 1#开启恶意的icmp错误消息保护
net.ipv4.icmp_ignore_bogus_error_responses = 1#关闭路由转发
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0#开启反向路径过滤
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1#处理无源路由的包
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0#关sysrq功能
kernel.sysrq = 0#core文件名添加pid作为扩展名
kernel.core_uses_pid = 1#开SYN洪水攻击保护
net.ipv4.tcp_syncookies = 1#修改消息队列长度
kernel.msgmnb = 65536
kernel.msgmax = 65536#设置最大内存共享段大小bytes
kernel.shmmax = 68719476736
kernel.shmall = 4294967296#timewait的数量默认为180000
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216#每个网络接口接收数据包速率比内核处理这些包的速率快时允许送到队列数据包的最大数目
net.core.netdev_max_backlog = 262144#限制仅仅是为防止简单的DoS攻击
net.ipv4.tcp_max_orphans = 3276800#未收到客户端确认信息的连接请求最大值
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0#内核放弃建立连接之前发送SYNACK包数量
net.ipv4.tcp_synack_retries = 1#内核放弃建立连接之前发送SYN包数量
net.ipv4.tcp_syn_retries = 1#开timewait快速回收
net.ipv4.tcp_tw_recycle = 1#允许将TIME-WAIT sockets重新用于新TCP连接
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1#当keepalive起用的时候TCP发送keepalive消息的频度缺省是2小时
net.ipv4.tcp_keepalive_time = 30#允许系统打开端口范围
net.ipv4.ip_local_port_range = 1024 65000#修改防火墙的表大小默认65536
#net.netfilter.nf_conntrack_max = 655350
#net.netfilter.nf_conntrack_tcp_timeout_established = 1200#确保无人能修改路由表
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0

如果需要做系统安全加固,考虑从哪些方面着手?

使用iptabls或firewalld关闭不必要的端口

用户方面设置复杂密码,配置锁定策略

ssh远程不允许root登录

关键文件例如配置文件、密码文件等上锁

设置histpory记录时间戳

定期检查并应用系统和应用程序的安全更新补丁

nginx服务器无法提供服务排查思路?

top、free、df命令分析资源使用率

ps看进程存活

netstat看端口监听

curl、telnet命令测试端口及页面返回内容

systemctl status 和 journarctl -u <server.name> 查看服务运行状态及服务相关日志

分析相关服务的log日志

讲讲对Prometheus的认识吧

Prometheus(由go语言开发)是一套开源的监控&报警&时间序列(按照时间排序)数据库的组合。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。它可以监控主机,服务,容器,支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。

其主要特征包含:

多维度数据模型,可以通过多个维度对数据建模,也可以通过多个维度对数据进行查询

灵活的查询语言,提供灵活的PromQL查询方式,还提供了HTTP查询接口,可以很方便地结合Grafana等组件展示数据

不依赖分布式存储,支持单节点的本地存储。通过Prometheus自带的时序数据库,可以完成每秒百万及的数据存储,如果需要存储大量历史数据,还可以对接第三方的时序数据库

以HTTP方式,通过pull模型拉取时间序列数据,并提供了开放的指标数据标准

也可以通过中间网关支持push模型
这种推,拉监控其实就是主动和被动监控,默认情况下是以pull(拉)的方式,也就是监控主机去找被监控主机将数据要过来,如果要实现push(推)的方式需要中间网关的支持,这只是与zabbix的叫法不同而已

通过服务发现或者静态配置来发现目标服务对象

支持多种多样的图表和界面展示,可以使用第三方的工具来展示内容,如Grafana

基本上说说特点以及如何对接监控指标即可

为什么先定位原因,再解决问题?

主观上来说搞清楚问题故障的因果关系,可以提高解决效率,避免不必要的操作。

客观上来说定位原因一方面是确认故障的产生原因,防止后续重复发生,另一方面是可以通过不断积累改善优化系统。

暂时就记着这些,后续想起来了再补充

相关文章:

以往运维岗本人面试真题分享

以下是本人面试运维岗的一些面试经历&#xff0c;在此做个记录分享 目录 TCP/IP三次握手 IPtables IPtables四表五链都是什么&#xff1f; nat端口如何做&#xff1f; 开放本机的80端口该如何做&#xff1f; 如何在单用户模式下引导Centos&#xff1f; nginx轮询模式都有…...

macOS解决U盘装完系统容量变小的问题

发现原来256GB容量的U盘在mac电脑上只显示34GB&#xff0c;想起来之前用该U盘装过系统&#xff0c;最终搜到了以下解决方案&#xff0c;在此记录&#xff1a; (1) 查看盘符列表&#xff0c;找到需要格式化的U盘&#xff0c;假设为disk4 diskutil list(2) 卸载分区disk4 disk…...

ORA-00257: archiver error

ORA-00257: archiver error 归档满问题&#xff1a; 报错&#xff1a; SQL> conn admin/admin ERROR: ORA-00257: archiver error. Connect internal only, until freed. Warning: You are no longer connected to ORACLE. 检查空间&#xff1a; SQL> select name, tot…...

IO技术详解

IO监控项在监控中一直是很重要的存在&#xff0c;服务有IO&#xff0c;磁盘有IO&#xff0c;操作系统也有IO&#xff0c;IO到底是什么呢 IO IO&#xff0c;即“输入/输出”&#xff08;Input/Output&#xff09;&#xff0c;是指计算机系统或设备之间交换数据的过程。这个概念…...

pySpark乱码

1.现象 python的变量包含中文&#xff0c;用format放入SQL中时&#xff0c;出现乱码 2.原因 python2默认编码是ascii 3.解决办法 使用python3&#xff0c;并且把所有print&#xff0c;改成带括号的 4.在pyspark中加入参数 spark.pyspark.driver.python/usr/bin/python3 …...

【MySQL 保姆级教学】事务的隔离级别(详细)--下(13)

事务的隔离级别 1. 如何理解事务的隔离性2. 事务隔离级别的分类3. 查看和设置事务隔离级别3.1 全局和会话隔离级别3.2 查看和设置隔离级别 4. 事务隔离级别的演示4.1 读未提交&#xff08;Read Uncommitted&#xff09;4.2 读已提交&#xff08;Read Committed&#xff09;4.3 …...

SpringBoot(十三)SpringBoot配置webSocket

在PHP版本的博客中&#xff0c;我使用PHPswoole实现了webscoket即时聊天的功能。 在java版本的博客中&#xff0c;我也想使用webscoket来实现即时聊天的功能&#xff0c;下边是我实现过程的一个记录。 一&#xff1a;在pom.xml中添加记录 <!-- spring-websocket start --&…...

OA系统都有哪些功能?OA办公系统功能大测评

随着现代企业对效率和协作的需求不断增加&#xff0c;OA办公系统已成为许多企业日常运营的重要工具。 一个功能完备的OA系统不仅能帮助企业提高办公效率&#xff0c;还能优化各类工作流程&#xff0c;从文档管理到审批流程、任务管理等&#xff0c;它为企业提供了全方位的支持…...

优化布线拥塞

Note&#xff1a;文章内容以 Xilinx 系列 FPGA 进行讲解 随着设计规模的增大和复杂度的提升&#xff0c;布线拥塞成为常见的问题&#xff0c;尤其是在用UltraScale FPGA或UltraScale FPGA时&#xff0c;布线拥塞往往成为时序收敛的瓶颈&#xff0c;也成为编译时间过长的“罪魁…...

盲盒APP开发,电商模式下盲盒的未知乐趣

在互联网电商模式逐渐成熟的当下&#xff0c;盲盒电商为消费者提供了一个全新的娱乐购物体验&#xff0c;让众多粉丝和消费者通过手机系统就可以体验拆盲盒的惊喜感和刺激性。在消费者享受线上拆盲盒的乐趣时&#xff0c;企业也能够获得新的发展机遇&#xff0c;扩大发展空间。…...

RocketMQ-02 集群架构部署

根据上一章《RocketMQ消费模型和部署模型》得知&#xff0c;启动rocketmq非常简单&#xff0c;只需要分别执行mqnamesrv启动NameServer&#xff0c;执行mqbroker启动Broker即可。但生产环境不可能仅使用单节点MQ&#xff0c;为提高可用性和吞吐量&#xff0c;生产常使用集群模式…...

处理报文后 展示在qtdesigner界面 ,有大量数据存储 怎样创建临时文件减少内存占用

处理大量数据并将其展示在 Qt Designer 创建的界面中时&#xff0c;确实可能会遇到内存占用过高的问题。使用临时文件来存储和管理数据是一种有效的解决方案&#xff0c;可以帮助减少内存占用。 import os import shutil import tempfile from PyQt5.QtWidgets import QApplica…...

后端-实现excel的导出功能(超详细讲解)

首先&#xff0c;不管是一大段文字还是一个几行几列的表格实现方式都是一样的。把动态的内容使用英文单词代替。动态的内容加不加下划线都可以&#xff0c;加了下划线最后生成的表格动态内容部分带有下划线&#xff0c;不加下划线最后生成的表格动态内容部分不带下划线。大家各…...

Docker compose部署portainer

整个工具的代码都在Gitee或者Github地址内 gitee&#xff1a;solomon-parent: 这个项目主要是总结了工作上遇到的问题以及学习一些框架用于整合例如:rabbitMq、reids、Mqtt、S3协议的文件服务器、mongodb github&#xff1a;GitHub - ZeroNing/solomon-parent: 这个项目主要是…...

【游戏引擎之路】登神长阶(十四)——OpenGL教程:士别三日,当刮目相看

【游戏引擎之路】登神长阶&#xff08;十四&#xff09;——OpenGL教程&#xff1a;士别三日&#xff0c;当刮目相看 2024年 5月20日-6月4日&#xff1a;攻克2D物理引擎。 2024年 6月4日-6月13日&#xff1a;攻克《3D数学基础》。 2024年 6月13日-6月20日&#xff1a;攻克《3D…...

相等日期问题(c++方法解决)

问题描述 对于一个日期&#xff0c;我们可以计算出年份的各个数位上的数字之和&#xff0c;也可以分别计算月和日的各位数字之和。请问从 1900 年 1 月 1 日至 9999 年 12 月 31 日&#xff0c;总共有多少天&#xff0c;年份的数位数字之和等于月的数位数字之和加日的数位数字之…...

深度学习——优化算法、激活函数、归一化、正则化

文章目录 &#x1f33a;深度学习面试八股汇总&#x1f33a;优化算法方法梯度下降 (Gradient Descent, GD)动量法 (Momentum)AdaGrad (Adaptive Gradient Algorithm)RMSProp (Root Mean Square Propagation)Adam (Adaptive Moment Estimation)AdamW 优化算法总结 经验和实践建议…...

Android 老项目适配 Compose 混合开发

在Android项目中使用Jetpack Compose进行混合开发时&#xff0c;可以通过以下步骤进行适配&#xff1a; 1.更新项目的build.gradle文件&#xff0c;确保使用最新的Compose库版本。 dependencies { implementation androidx.compose.ui:ui:<latest_version> implementat…...

PH热榜 | 2024-11-14

DevNow 是一个精简的开源技术博客项目模版&#xff0c;支持 Vercel 一键部署&#xff0c;支持评论、搜索等功能&#xff0c;欢迎大家体验。 [在线预览](https://www.laughingzhu.c 1. Vocera 标语&#xff1a;利用模拟和监控加速语音代理上线 这句话的意思是&#xff1a;通过…...

删库跑路,启动!

起因&#xff1a;这是一个悲伤的故事&#xff0c;在抓logcat时 device待机自动回根目录了&#xff0c;而题主对当前路径的印象还停留在文件夹下&#xff0c;不小心在根目录执行了rm -rf * … 所以&#xff0c;这是个悲伤的故事&#xff0c;东西全没了…device也黑屏了&#xff…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

MySQL 主从同步异常处理

阅读原文&#xff1a;https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主&#xff0c;遇到的这个错误&#xff1a; Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一&#xff0c;通常表示&#xff…...

node.js的初步学习

那什么是node.js呢&#xff1f; 和JavaScript又是什么关系呢&#xff1f; node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说&#xff0c; 需要在node.js的环境上进行当JavaScript作为前端开发语言来说&#xff0c;需要在浏览器的环境上进行 Node.js 可…...