k8s常见面试题2
k8s常见面试题2
- 安全与权限
- RBAC配置
- 如何保护 Kubernetes 集群的 API Server?
- 如何管理集群中的敏感信息(如密码、密钥)?
- 如何限制容器的权限(如使用 SecurityContext)?
- 如何防止容器逃逸(Container Escape)?
- 存储管理
- PV和 PVC的区别是什么?
- 如何动态分配存储资源(StorageClass)?
- 如何实现跨节点的共享存储?
- 网络与服务发现
- Service类型
- 如何实现跨集群的服务发现?
- 如何配置 Kubernetes 的网络策略(NetworkPolicy)
- 如何实现外部流量访问集群内部服务
- 架构设计
- 如何优化 Kubernetes 集群的资源利用率?
- 如何实现多租户的 Kubernetes 集群?
- 如何设计跨地域的 Kubernetes 集群?
- 高可用集群设计
- 工具与生态
- Helm用途
- 场景题示例
- 高并发微服务架构
- 如何实现 Kubernetes 集群的自动化运维?
- 如何应对 Kubernetes 集群的突发流量?
- 如何设计一个跨云平台的 Kubernetes 集群?
- 开放性问题
- 遇到的最大挑战
- 如何提升 Kubernetes 集群的安全性
安全与权限
RBAC配置
如何实现 Kubernetes 的 RBAC 权限控制?
- 创建
Role定义权限(如访问Pod、Service)。 - 创建
RoleBinding将Role绑定到用户/组。 - 示例:授权用户读取Pod信息:
```yamlapiVersion: rbac.authorization.k8s.io/v1kind: Rolemetadata: {namespace: default, name: pod-reader}rules:- apiGroups: [""]resources: ["pods"]verbs: ["get", "watch", "list"]
如何保护 Kubernetes 集群的 API Server?
- 保护 API Server 需要启用 RBAC 限制权限
- 配置身份认证(如 TLS、OIDC),开启 API 审计日志,禁用匿名访问
- 并结合网络策略限制 API Server 访问来源。
kubectl create rolebinding user-binding --clusterrole=view --user=user@example.com --namespace=default # 启用 RBAC(基于角色的访问控制)
启用 API Server 认证和授权
- 使用 TLS 证书、OIDC(OpenID Connect)或 ServiceAccount 进行认证。
- 配置 --authorization-mode=RBAC,Node 确保 API 请求经过权限检查。
开启 API Server 审计日志
通过 --audit-policy-file=/etc/kubernetes/audit-policy.yaml 开启审计
apiVersion: audit.k8s.io/v1
kind: Policy
rules:- level: RequestResponse
限制匿名访问:禁用 --anonymous-auth,防止未授权请求访问 API Server。
启用网络策略(NetworkPolicy):限制 API Server 只能被特定 IP 或 Pod 访问。
如何管理集群中的敏感信息(如密码、密钥)?
- 推荐使用 Kubernetes Secret 存储敏感数据,并启用加密存储或外部 KMS 保护 Secret,避免明文存储。
- 同时,使用 RBAC 限制 Secret 访问权限。
kubectl create secret generic db-secret --from-literal=username=admin --from-literal=password=pass123 #使用 Secret 存储 Base64 编码的敏感数据。
使用 envFrom 挂载 Secret
envFrom:- secretRef:name: db-secret
启用加密存储(EncryptionConfig)
通过 --encryption-provider-config=/etc/kubernetes/encryption-config.yaml 加密 Secret 数据。
kind: EncryptionConfig
resources:- resources: ["secrets"]providers:- aescbc:keys:- name: key1secret: <base64-encoded-secret>
最小化 Secret 访问权限:使用 RBAC 限制 Secret 访问
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:name: secret-reader
rules:- apiGroups: [""]resources: ["secrets"]verbs: ["get"]
如何限制容器的权限(如使用 SecurityContext)?
- 使用 securityContext 限制容器权限,例如 runAsNonRoot 禁止 root 运行
- privileged: false 防止特权模式
- readOnlyRootFilesystem: true 只读根文件系统
- 并最小化 Linux Capabilities。
securityContext:runAsUser: 1000runAsGroup: 3000allowPrivilegeEscalation: false #运行非 root 用户privileged: false #禁止特权模式(Privileged Mode)readOnlyRootFilesystem: true #使用 readOnlyRootFilesystemcapabilities: #最小化 Linux Capabilitiesdrop:- ALL
使用 PodSecurityPolicy(PSP)或 PodSecurity Admission(PSA)
通过 PSP/PSA 统一限制容器权限:
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:name: restricted
spec:privileged: falserunAsUser:rule: MustRunAsNonRoot
如何防止容器逃逸(Container Escape)?
- 防止容器逃逸需启用 seccomp 过滤系统调用
- 禁止 hostPID、hostNetwork 访问宿主机资源,限制宿主机文件系统挂载
- 并使用 AppArmor 或 SELinux 进行访问控制。
存储管理
PV和 PVC的区别是什么?
- PV 是管理员预先配置的存储资源,表示物理存储资源(如 NFS、Ceph、EBS)。
- PVC 是用户对存储的申请。由 Pod 请求存储,类似于云计算中的存储申请
- 当 PVC 申请满足 PV 的条件时,Kubernetes 自动绑定 PV 和 PVC,Pod 通过 PVC 访问存储。
绑定关系
- PVC 申请存储 → K8s 绑定可用 PV → Pod 使用 PVC
- kubectl get pv / kubectl get pvc 查看绑定状态。
如何动态分配存储资源(StorageClass)?
- StorageClass 允许 Kubernetes 动态创建 PV,无需管理员手动配置。
- PVC 申请存储时,StorageClass 通过存储插件(如 AWS EBS、Ceph)自动创建 PV,并绑定 PVC。
- StorageClass:动态创建PV(如按需创建云存储)。
如何实现跨节点的共享存储?
- 可以使用 NFS、CephFS、GlusterFS 或 AWS EFS 等分布式存储系统
- 并配置 ReadWriteMany (RWX) 模式
- 使多个 Pod 在不同节点上共享同一个存储卷。
网络与服务发现
Service类型
Kubernetes 中的 Service 类型有哪些?各自的使用场景?
- ClusterIP:默认类型,集群内部访问。
- NodePort:通过节点端口暴露服务。
- LoadBalancer:云平台提供外部负载均衡器。
- ExternalName:通过CNAME指向外部服务。
如何实现跨集群的服务发现?
- 实现跨集群的服务发现可以采用 Kubernetes 联邦(Federation)或多集群服务 API(MCS API)。
- 联邦提供跨集群的统一管理和服务发现能力,而 MCS API 定义了一套轻量级的 API,实现服务的跨集群注册和发现
使用 Kubernetes 联邦(Federation):
- 概念: Kubernetes 联邦提供了跨多个集群的统一管理和服务发现能力。
- 实现: 通过在各个集群中部署联邦控制平面,实现资源的同步和服务的跨集群发现。
- 优势: 提供自动配置 DNS 服务以及在所有集群后端上进行负载均衡的能力。
使用多集群服务 API(MCS API):
- 概念: MCS API 定义了一套轻量级的 API,实现服务的跨集群注册和发现。
- 实现: 通过在集群间导出和导入服务,使服务在多个集群间共享。
- 优势: 能够像访问本地服务一样访问其他集群的服务。
如何配置 Kubernetes 的网络策略(NetworkPolicy)
- 配置 NetworkPolicy 需要创建一个 YAML 文件,使用 podSelector 选择目标 Pod,并定义相应的 ingress 和/或 egress 规则。然后,通过 kubectl apply -f 命令将其应用到集群中,以控制 Pod 之间以及与外部的网络流量。
理解 NetworkPolicy:
- 概念: NetworkPolicy 是一种资源对象,用于定义 Pod 之间以及 Pod 与外部之间的网络流量控制规则。
- 作用: 通过指定规则,控制哪些流量可以进出特定的 Pod,从而提高集群的安全性。
配置步骤:
- 定义策略: 创建 NetworkPolicy YAML 文件,指定 podSelector 选择目标 Pod,配置 ingress 和/或 egress 规则。
- 应用策略: 使用 kubectl apply -f 命令将策略应用到集群中。
如何实现外部流量访问集群内部服务
- 要使外部流量访问集群内部服务,可以使用 Service 的 NodePort 类型,将服务暴露在每个节点的特定端口上;
- 在支持的云环境中,使用 LoadBalancer 类型,自动配置云提供商的负载均衡器;
- 或者使用 Ingress 资源,定义 HTTP/HTTPS 路由规则,通过域名和路径将外部流量引导到内部服务。
架构设计
如何优化 Kubernetes 集群的资源利用率?
通过合理设置容器的资源请求和限制,结合自动水平扩缩容(HPA)和节点自动伸缩机制,并使用监控工具实时分析资源使用情况,可以有效优化 Kubernetes 集群的资源利用率
- 合理设置资源请求和限制:为每个容器配置适当的 requests 和 limits,确保资源分配精确,避免资源浪费或争抢。
- 使用自动水平扩缩容(HPA):根据应用负载,自动调整 Pod 数量,确保在高负载时扩展,低负载时收缩。
- 节点自动伸缩:配置集群的节点自动伸缩,根据整体资源需求动态添加或移除节点。
- 监控和分析:利用监控工具(如 Prometheus 和 Grafana)实时监测资源使用情况,识别瓶颈并进行优化。
如何实现多租户的 Kubernetes 集群?
可以通过为每个租户创建独立的命名空间,结合 RBAC 和网络策略实现资源和网络隔离。对于需要更强隔离的场景,可采用虚拟控制平面方案。此外,设置资源配额确保各租户公平使用资源。
- 命名空间隔离:为每个租户创建独立的命名空间,结合 RBAC(基于角色的访问控制)和网络策略,确保资源和网络的隔离。
- 虚拟控制平面:为每个租户提供独立的虚拟控制平面,实现更强的隔离和自主性。
- 资源配额:为不同租户设置资源配额,确保资源的公平分配,防止单个租户过度消耗资源。
如何设计跨地域的 Kubernetes 集群?
通过在不同地域部署多个 Kubernetes 集群,结合服务网格或全球负载均衡器实现服务发现和流量管理,采用数据同步机制确保数据一致性,并使用多集群管理工具实现统一管理。
- 多集群部署:在不同地域部署多个 Kubernetes 集群,确保本地化的高可用性和低延迟。
- 服务发现和流量管理:使用服务网格(如 Istio)或全球负载均衡器,实现跨集群的服务发现和流量路由。
- 数据同步:采用数据库的主从复制或数据同步机制,确保各地域间的数据一致性。
- 统一管理:使用 Kubernetes 联邦(Federation)或多集群管理工具,实现跨集群的统一管理和配置。
高可用集群设计
如何设计高可用的 Kubernetes 集群?
- 多Master节点,使用负载均衡(如HAProxy)暴露API Server。
- etcd集群部署为奇数节点(3/5个),跨故障域分布。
- Worker节点跨可用区(AZ)部署。
工具与生态
你使用过哪些 Kubernetes 相关的工具(如 Helm、Prometheus、Istio 等)?
Helm用途
- Helm 是 Kubernetes 的包管理工具,通过定义 Chart 来描述应用的 Kubernetes 资源,提供应用的打包、安装、升级和回滚等功能,简化了应用的部署和管理。
常用命令:
helm install <release-name> <chart-name> # 部署应用
helm upgrade --install # 更新或安装
helm rollback <release-name> <revision> # 回滚
场景题示例
高并发微服务架构
如何设计一个支持高并发、高可用的微服务架构?
- 使用Deployment和HPA自动扩缩容。
- 通过**Service Mesh(如Istio)**管理流量(金丝雀发布、熔断)。
- 数据库使用StatefulSet,搭配持久化存储。
如何实现 Kubernetes 集群的自动化运维?
通过使用基础设施即代码工具实现集群的自动化部署,采用 GitOps 工作流管理配置变更,利用 Operator 模式自动化应用运维,并结合监控与告警系统,全面实现 Kubernetes 集群的自动化运维。
- 基础设施即代码(Infrastructure as Code,IaC):使用工具如 Terraform 或 Ansible 编写集群和相关资源的配置脚本,实现集群的自动化部署和管理。
- GitOps 工作流:采用 GitOps 方法,将集群的声明性配置存储在版本控制系统中,通过持续集成/持续部署(CI/CD)管道自动应用配置更改。
- Operator 模式:开发或使用现有的 Kubernetes Operator,自动管理复杂的应用程序和服务的生命周期,包括部署、升级和故障恢复。
- 监控与告警:集成 Prometheus 和 Grafana 等监控工具,实时监测集群状态,并设置告警规则,及时响应异常情况。
如何应对 Kubernetes 集群的突发流量?
通过配置水平 Pod 自动伸缩和集群自动伸缩,结合弹性负载均衡策略,以及在应用层面实施缓存和限流机制,可以有效应对 Kubernetes 集群的突发流量。
- 水平 Pod 自动伸缩(Horizontal Pod Autoscaler,HPA):根据指标(如 CPU 使用率)自动调整 Pod 的副本数量,以应对负载变化。
- 集群自动伸缩(Cluster Autoscaler):当集群资源不足以调度新的 Pod 时,自动增加节点;当资源空闲时,自动移除多余的节点。
- 弹性负载均衡:配置服务的负载均衡策略,确保流量均匀分布,防止单点过载。
- 缓存和限流:在应用层面实现缓存机制,减少对后端服务的压力;设置限流策略,防止突发流量导致系统过载。
如何设计一个跨云平台的 Kubernetes 集群?
在不同云平台上部署独立的 Kubernetes 集群,使用多集群管理工具进行统一管理,通过网络互通方案确保服务通信,配置统一的认证与授权机制,并通过 CI/CD 管道实现应用分发和数据同步,从而设计一个跨云平台的 Kubernetes 集群。
- 多集群管理:在不同云平台上部署独立的 Kubernetes 集群,使用工具如 Rancher、KubeSphere 或 Kubernetes 联邦(Federation)进行统一管理。
- 网络互通:通过 VPN、专线或服务网格(如 Istio)实现不同云平台之间的网络连接,确保服务之间的通信。
- 统一认证与授权:配置统一的身份认证和权限管理机制,确保跨集群的一致性和安全性。
- 应用分发与数据同步:使用 CI/CD 管道实现应用的跨集群部署,采用数据库同步或数据复制策略,确保数据一致性。
开放性问题
遇到的最大挑战
你在 Kubernetes 运维中遇到的最大挑战是什么?如何解决的?
- 示例回答:
- 挑战:集群网络频繁超时。
- 排查:发现是CNI插件配置错误导致DNS解析失败。
- 解决:修正Calico配置,并优化CoreDNS副本数。
如何提升 Kubernetes 集群的安全性
- 身份认证和权限管理:通过启用 RBAC、结合 Open Policy Agent(OPA)等工具,精细化控制用户和服务账号的权限。
- 安全审计与日志记录:开启 API 审计日志,及时发现异常操作和访问行为。
- 网络策略与隔离:使用 NetworkPolicy 限制 Pod 间通信,减少攻击面。
- 加密与密钥管理:对存储在集群中的敏感数据(如 Secrets)进行加密,同时使用外部密钥管理系统(KMS)。
- 容器运行时安全:采用 Seccomp、AppArmor 或 SELinux 等安全机制,限制容器权限,防止容器逃逸。
- 定期安全扫描与漏洞修补:利用安全扫描工具定期检查镜像、依赖和集群配置,及时更新补丁。
相关文章:
k8s常见面试题2
k8s常见面试题2 安全与权限RBAC配置如何保护 Kubernetes 集群的 API Server?如何管理集群中的敏感信息(如密码、密钥)?如何限制容器的权限(如使用 SecurityContext)?如何防止容器逃逸࿰…...
CSS 伪类(Pseudo-classes)的详细介绍
CSS 伪类详解与示例 在日常的前端开发中,CSS 伪类可以帮助我们非常精准地选择元素或其特定状态,从而达到丰富页面表现的目的。本文将详细介绍以下伪类的使用: 表单相关伪类 :checked、:disabled、:enabled、:in-range、:invalid、:optional、…...
将Deepseek接入pycharm 进行AI编程
目录 专栏导读1、进入Deepseek开放平台创建 API key 2、调用 API代码 3、成功4、补充说明多轮对话 总结 专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️🌈 博客主页:请点击——…...
【Ollama】一、介绍
介绍 Ollama 是一个开源项目,专注于提供本地化的大型语言模型(LLM)部署和运行解决方案。它允许用户在本地环境中轻松运行和微调各种开源语言模型(如 LLaMA、Falcon 等),而无需依赖云服务或高性能 GPU。Oll…...
ASP.NET Core JWT
目录 Session的缺点 JWT(Json Web Token) 优点: 登录流程 JWT的基本使用 生成JWT 解码JWT 用JwtSecurityTokenHandler对JWT解码 注意 Session的缺点 对于分布式集群环境,Session数据保存在服务器内存中就不合适了&#…...
查询引擎:它们是什么以及为什么重要
了解查询引擎、它们的优势以及如何简化现代应用程序的数据管理。查询引擎是高效处理和检索数据的强大工具,但并非所有查询引擎都能满足现代应用程序对速度和实时性的需求。在本文中,我们将解析查询引擎的定义、主要优势以及它们如何用于实时数据和AI应用…...
03/29 使用 海康SDK 对接时使用的 MysqlUtils
前言 最近朋友的需求, 是需要使用 海康sdk 连接海康设备, 进行数据的获取, 比如 进出车辆, 进出人员 这一部分是 资源比较贫瘠时的一个 Mysql 工具类 测试用例 public class MysqlUtils {public static String MYSQL_HOST "192.168.31.9";public static int MY…...
2025.2.7 Python开发岗面试复盘
2025.2.7 Python开发岗面试复盘 问题: 是否了解过其他语言? 了解过Java、JavaScript、C等语言,但主要技术栈是Python。 Python跟Java的区别? Python是解释型语言,Java是编译型语言 Python动态类型,Java静态类型 Python简洁易读,Java相对严谨复杂 Python GIL限制并发,Java并…...
一个sql只能有一个order by
ORDER BY 子句在 SQL 中只能出现一次,静态部分和动态部分只能写一个 ORDER BY...
Windows Docker笔记-在容器中运行项目
在文章《Windows Docker笔记-Docker容器操作》中,已经成功创建了容器,也就是建好了工厂,接下来就应该要安装流水线设备,即运行项目达到生产的目的。 在Ubuntu容器中新建项目 这里要新建一个简单的C项目,步骤如下&…...
postgreSQL16.6源码安装
1.获取源码 从PostgreSQL: File Browser获取tar.bz2或者tar.gz源码 2.解压 tar xf postgresql-version.tar.bz2 roothwz-VMware-Virtual-Platform:/usr/local# tar xf postgresql-16.6.tar.bz2 roothwz-VMware-Virtual-Platform:/usr/local# ll 总计 24324 drwxr-xr-x 12 ro…...
寒假2.5
题解 web:[网鼎杯 2020 朱雀组]phpweb 打开网址,一直在刷新,并有一段警告 翻译一下 查看源码 每隔五秒钟将会提交一次form1,index.php用post方式提交了两个参数func和p,func的值为date,p的值为Y-m-d h:i:s a 执行fu…...
定期删除一周前的数据,日志表的表空间会增长吗?
即使定期删除一周前的数据,日志表的表空间仍可能持续增长。原因如下: 删除操作不释放空间:DELETE 操作只会标记数据为删除状态,并不会立即释放空间。这些空间可以被后续的 INSERT 操作重用,但不会自动缩减表的总大小。…...
yum 安装mysql
sudo yum install mysql-server sudo systemctl start mysqld sudo systemctl enable mysqld 获取临时 root 密码并登录 MySQL 安装完成后,MySQL 会生成一个临时的 root 密码。你可以通过查看日志文件来找到这个密码: sudo grep ‘temporary password’…...
Servlet笔记(下)
HttpServletRequest对象相关API 获取请求行信息相关(方式,请求的url,协议及版本) | API | 功能解释 | | ----------------------------- | ------------------------------ | | StringBuffer getRequestURL(); | 获取客户端…...
Windows 中学习Docker环境准备3、在Ubuntu中安装Docker
Windows 中学习Docker环境准备1、Win11安装Docker Desktop Windows 中学习Docker环境准备2、Docker Desktop中安装ubuntu Windows 中学习Docker环境准备3、在Ubuntu中安装Docker 需要更多Docker学习视频和资料,请文末联系 步骤 1:更新系统并安装依赖…...
【centOS】搭建公司内网git环境-GitLab 社区版(GitLab CE)
1. 安装必要的依赖 以 CentOS 7 系统为例,安装必要的依赖包: sudo yum install -y curl policycoreutils openssh-server openssh-clients postfix sudo systemctl start postfix sudo systemctl enable postfix2. 添加 GitLab 仓库 curl -sS https:/…...
Unity DoTween使用文档
DoTween 使用文档 DoTween 是 Unity 中非常流行的动画补间插件。它通过链式调用方式,让开发者可以快速创建平滑、自然的动画效果。本文将介绍 DoTween 的基础用法、缓动曲线原理(包含常见缓动曲线的数学公式与参数说明)、案例演示以及一些常…...
【办公类-99-01】20250201学具PDF打印会缩小一圈——解决办法:换一个PDF阅读器
背景需求: 2024年1月13日,快要放寒假了,组长拿着我们班的打印好的一叠教案来调整。 “前面周计划下面的家园共育有调整,你自己看批注。” “还有你这个教案部分的模版有问题,太小(窄)了。考虑…...
组合总和II(力扣40)
这道题的难点就在于题目所给的集合中有重复的数字,我们需要进行去重操作。首先明确去重指的是去重哪一部分。注意并不是对递归的集合去重,而是对当前集合的遍历进行去重。这么说可能有点抽象,举个例子:假设集合为1,1,2,3,4&#x…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
