面试复习-Python-流程控制
分支语句
if-elif-else
12345678910>>> string = 'hello world'>>> string_len = len(string)>>> if string_len > 10:... print("too long")... elif 2 < string_len < 5:... print("okay")... else:... print("too short")...too long
三目运算 too_long = True if len(string) > 10 else False
循环语句
for-in
while
break
continue
else: 循环语句中的else在循环顺利完成后执行,即没有被break
迭代器在 Python 中,迭代器是一种实现了迭代器协议的对象。迭代器协议包括两个方法:__iter__() 和 __nex ...
面试复习-Python-数据类型
Python 是一种高级编程语言,具有丰富的数据类型。了解这些数据类型对于有效地编写 Python 代码至关重要。以下是对 Python 主要数据类型的详细介绍。
Python使用对象模型来存储数据,一个python对象通常包含ID,Type, Value。
Python数据类型的分类标准类型:
数字
整型
长整型
浮点型
复数
布尔型
字符串
列表 (可变)
元组
字典 (可变)
其他内置数据类型:
类型
None
文件
集合
函数
模块
类
布尔值为False的对象: None, False, 0, 0.0, 0L, 0.0+0.0j, "", [], (), {} (JS中[], {}转换成布尔值后为true)
标准类型的操作符
数值比较操作符有: < > <= >= == != <>
ID比较: is 和 is not
逻辑运算: and or not
用于标准类型的内置函数: type(o) repr(o) str(o) isinstance(o, O) id(o)
序 ...
AI-数学基础之线性代数【草稿】
线性方程组\begin{cases}c_{11}x_1 + c_{12}x_2 +\cdots + c_{1n}x_n = d_1\\c_{21}x_1 + c_{22}x_2 +\cdots + c_{2n}x_n = d_2\\\vdots\\c_{m1}x_1 + c_{m2}x_2 +\cdots + c_{mn}x_n = d_m\end{cases}
用矩阵表示线性方程组
系数矩阵:去掉未知数和常数形成的矩阵\begin{pmatrix}c_{11} & c_{12} &\cdots & c_{1n}\\c_{21} & c_{22} &\cdots & c_{2n}\\\vdots &\vdots &\ddots &\vdots\\c_{m1} & c_{m2} &\cdots & c_{mn}\end{pmatrix}
增广矩阵:系数矩阵加上常数\begin{pmatrix}c_{11} & c_{12} &\cdots & c_{1n} &\ ...
AI: 发展历程、现状与基本概念
AI是什么?AI(人工智能)是一门研究、开发用于模拟、延伸和扩展人的智能的技术科学。
它具有以下几个关键特点:
学习能力:能够从大量的数据中自动学习模式、规律和知识。通过机器学习算法,AI 可以对数据进行分析和理解,不断提升自身的性能和能力。
智能表现:可以展现出类似人类智能的某些方面,比如感知、认知、决策、推理等。例如,图像识别、语音识别、自然语言处理等都是 AI 智能表现的具体体现。
适应性:能够根据不同的环境和任务进行调整和适应。它可以在新的情境中运用已学到的知识和技能,以更好地完成任务。
自主性:在一定程度上可以自主地进行操作和决策,而无需持续的人类干预。
广泛的应用领域:涵盖了医疗、交通、金融、教育、制造业等众多行业。比如在医疗领域辅助疾病诊断,在交通领域实现自动驾驶等。
从实现方式来看,AI 包含多种技术,如机器学习(包括监督学习、无监督学习等)、深度学习(利用深度神经网络)、自然语言处理、计算机视觉、智能机器人技术等。
AI 的目标是创造出能够像人类一样思考、学习和行动的智能系统,以帮助人类解决各种复杂的问题,提高工作效率和生活质量。然而,随着 AI 的发展,也带来了 ...
GraphQL概要
GraphQL概要
GraphQL是什么
API标准,可以作为REST API的备选方案
由Facebook开发并开源发布
用于API的查询语言
GraphQL诞生的原因
在网速较慢的设备上,移动端应用需要更快速的加载数据。GraphQL只需要传输前端需要的数据,而REST API则传世请求资源的所有数据。
前端框架和平台多种多样,GraphQL可以让它们可以精确地访问需要的数据。
持续集成导致API改动频率增加,而GraphQL则能减少这样的改动。
GraphQL相对于REST的优势
减少了要传输的数据
减少了发送请求的数量
避免了由于API设计变化导致的endpoint结构的调整
更理解客户端对数据的需求
Schema和强类型可以让前后端独立开发
GraphQL的核心概念
Schema Definition Language (SDL)
12345678910type Person { name: String! age: Int! posts: [Post!]!}type Post { title: String ...
Docker笔记
存储卷(Volumes)
匿名卷:可以在Dockerfile中使用VOLUME [ "/path" ]创建匿名卷,也可以在启动容器的时候用-v /path来创建。匿名卷在container被删掉之后会被自动删除。
命名卷:可以在启动容器的时候用-v volume_name:/path来创建命名卷。命名卷在容器被删除时不会被自动删除。
绑定挂载(Bind Mount):在启动容器时使用-v host_path:/container_path将主机上的目录映射到容器中。这样主机上文件的改动就能直接反映在容器里,无需重新构建容器镜像。
容器网络
容器中可以使用host.docker.internal作为主机名来访问主机网络。
多个容器可以通过--network {network_name}加入同一网络,同一网络中的容器可以通过容器名互相访问。
Docker网络有bridge, host, none, overlay, macvlan, third-party plugin等类型,在创建网络是通过--driver来指定。
CMD or ENTRYPO ...
Go语言的过程式编程
Go语言中常用的内置函数
函数
用法
append(s, …)
将s后面的所有参数追加到切片s中,如果容量不够,则新建一个切片
cap(x)
返回切片或者通道的容量,数组的长度
len(x)
返回切片、数组或者通道的长度
close(ch)
关闭通道,即不可以再往通道中写入值,但还可以读取
complex(r, i)
生成一个复数
copy(dist, src)
将切片src中的项复制到切片dist中,或者讲字符串src复制到[]byte类型的切片dist中
delete(m, k)
从映射m中删除键值为k的项
real(cx)
返回复数cx的实部
imag(cx)
返回复数cx的虚部
make(T, l, c)
创建一个切片、通道或者映射
new(T)
一个指向类型为T的值的指针
panic(x)
抛出一个运行时异常,其值为x
recover()
捕获一个运行时异常
Go语言赋值
Go语言中的自增自减运算符都是后置的,且没有返回值。
可以使用=来给变量赋值,如果前面没有加var,那么变量必须是已经存在的。
可以使用逗号同时 ...
Go语言中的集合类型
指针
Go语言中只有值传递。
切片、映射、通道、函数等引用类型也是值传递,只不过它们的值是指针,所以对形参的改变也会反映到实参本身。
指针是指保存了另一个变量内存地址的变量。通过指针可以让参数传递的成本最低且内容可修改,而且可以让变量的生命周期独立于作用域。
数组和切片
使用如下语法创建数组。123[length]Type[N]Type{value1, value2, ..., valueN}[...]Type{value1, value2, ..., valueN}
数组的长度是固定的,不可以修改。
数组的容量cap()和长度len()都等于数组的长度。
数组按值传递,及传递给函数的是数组的副本,而切片是引用类型,传递的是指针。
12345678910111213package mainimport "fmt"func changeArray(a [3]int) { a[0] = 3}func main() { myarray := [3]int{1, 2, 3} cha ...
Ansible概要
Ansible是什么?Ansible是一个自动化管理远程系统的工具,它主要有两个功能:
自动化管理远程节点
控制远程节点,让它们满足预期的状态
主要由3个组件构成:
控制节点: 用于安装和运行ansible。
被控制节点: ansible管理的节点。
清单(Inventory):按逻辑组织的被控制节点列表,它描述了ansible管理的对象。
Ansible的安装配置步骤:
使用Homebrew安装: brew install ansible
创建被管理节点的清单hosts.yaml
123456789101112all: children: master: hosts: master-node: ansible_host: 52.118.108.104 ansible_user: root nodes: hosts: node-1: ansible_host: 150.238.65.205 ansible_user: root
检验清单是 ...
OpenAPI 概要
OpenAPI是什么?OpenAPI被用来描述基于HTTP的API,是目前被广泛接受和使用的API工业标准。
使用OpenAPI规范的优势
可以使用工具检查用户定义的API是否满足OpenAPI特定版本的规范,语法是否正确等。
可以检查请求和响应中的数据是否正确。
可以自动生成API文档。
自动生成客户端和服务端的代码。
可以用图形化工具快速、方便地创建API描述文件。
可以在写代码之前创建提供示例响应的伪HTTP服务器。
在API定义阶段就可以发现一些可能出现的安全漏洞。
API描述文件 API描述文件是一个机器可读的API定义文件。它应该是尽量完整的、细致的、明确的。开发者可以使用API描述文件来自动生成API文档以及代码。
格式: JSON 或者 YAML
最小化结构:12345openapi: 3.1.0 # OpenAPI版本info: title: A minimal OpenAPI document version: 0.0.1 # API版本paths: {} # No endpoints defined
Servers对象12345678 ...








