当前位置: 首页 > 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…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...