知识节点目录
浏览所有知识节点
推荐学习路径
基于前置依赖关系的拓扑排序,建议按此顺序学习
数据通路(Datapath)是 CPU 内部连接各个功能部件的"高速公路"——指令从内存取出、解码、执行、写回,每一步都在数据通路上完成
操作系统(Operating System)是计算机硬件和用户软件之间的"大管家"——它管理CPU、内存、设备,让你能同时打开十几个应用而不打架
编译器(Compiler)是把高级语言翻译成机器语言的"翻译官"——从源码到可执行文件,经历了词法分析、语法分析、语义分析、中间代码生成、优化、目标代码生成等一系列阶段
网络分层模型把复杂的网络通信拆成多个层次——每层各司其职,上层不用关心下层细节,就像寄快递不用关心飞机怎么飞
系统调用(System Call)是用户程序请求操作系统服务的"正式通道"——你写的程序不能直接碰硬件,必须通过系统调用请内核代劳
文件系统(File System)是操作系统中管理持久数据的模块——它把磁盘的原始扇区组织成文件和目录,让应用程序不用关心数据到底存在磁盘的哪个柱面
数据库(Database, DB)是持久化存储和管理数据的系统——相比文件系统,它提供了高效查询、并发控制、故障恢复、数据一致性等能力
数组(Array)和链表(Linked List)是最基础的数据结构——数组在内存中连续存储,支持随机访问;链表通过指针串联,支持灵活插入删除
编程范式(Programming Paradigm)是编写程序的"思维模式"——命令式、面向对象、函数式、逻辑式,每种范式对"计算是什么"有不同理解
软件生命周期(SDLC)是软件从概念到退役的全过程——瀑布模型按阶段推进,敏捷开发迭代演进,V 模型强调测试与开发的对应关系
古典密码是早期加密方法——凯撒密码把字母按固定位移替换,维吉尼亚密码用关键词决定每位位移。它们已被现代密码学取代,但核心思想(替换+置换)沿用至今
齐次坐标用 n+1 维向量表示 n 维点——让平移、旋转、缩放都可用矩阵乘法表示。3D 图形中的 MVP 变换(模型-视图-投影)就是矩阵连乘
CIA 三元组是信息安全的核心——机密性(Confidentiality)防止未授权访问,完整性(Integrity)防止数据篡改,可用性(Availability)确保服务正常运行
分布式系统是多个节点通过网络协作完成共同任务——CAP 定理说一致性、可用性、分区容错性三者最多选两个。FLP 不可能性证明异步系统中无法达成共识
区块链是一个不断增长的"区块"链——每个区块链接到前一个区块的哈希。Merkle Tree 把区块中的交易组织成树状哈希结构,高效验证交易完整性
命题逻辑研究命题之间的逻辑关系(与、或、非、蕴含)。谓词逻辑引入量词(∀ 所有、∃ 存在)和谓词,表达能力更强,是程序验证的理论基础
词法分析(Lexical Analysis)是编译的第一个阶段——把源代码的字符流切分成"单词"(Token),交给语法分析器使用
物理层(Physical Layer)负责把比特(0 和 1)转换成在物理介质上传输的信号——电信号、光信号或无线电波,同时解决"怎么让多个信号共用同一根线"的问题
实体关系模型(Entity-Relationship Model)是用图形化的方式描述现实世界的数据结构——实体是"东西",关系是"联系",是数据库设计的第一步
作用域(Scope)决定变量在哪些区域可见——静态作用域看代码结构,动态作用域看调用链。绑定(Binding)是把名字和实体关联起来的过程
敏捷(Agile)是迭代增量式的开发方法——Scrum 是敏捷的框架,Sprint 是 2-4 周的迭代周期。敏捷强调"响应变化优于遵循计划"
对称加密用同一密钥加密和解密——DES 曾是标准但已被破解,AES 是当前标准。Feistel 结构和 SPN 是两种主要的分组密码设计
图形管线(Graphics Pipeline)把 3D 模型变成屏幕上的像素——顶点处理→光栅化→片元处理→输出合并。GPU 就是专门加速这条管线的硬件
搜索算法是 AI 中最基本的问题求解方法——BFS 逐层扩展保证最短路径,DFS 深入探索用栈,A\* 用启发式函数引导方向
身份认证证明"你是谁"(密码、指纹、MFA),访问控制决定"你能做什么"(RBAC、ACL)。OAuth 2.0 是现代 Web 的授权标准
一致性协议让分布式系统中的节点对某个值达成共识——Paxos 是理论基础但难理解,Raft 通过强领导者简化了共识过程,是 etcd/Consul 的核心
量子纠缠是两个 qubit 之间存在非经典关联——测量一个 qubit 瞬间影响另一个,无论距离多远。贝尔不等式验证了量子力学不是"局域隐变量"理论
工作量证明(PoW)让矿工通过计算哈希找到有效 Nonce——最先找到的矿工有权出块并获得奖励。PoS 用质押代币代替计算,更节能
模型检验自动验证系统是否满足给定规范——把系统建模为状态机,用时序逻辑(LTL/CTL)描述规范,穷举搜索所有状态检查是否违反规范
有限自动机(Finite Automaton)是正则表达式的"执行引擎"——它用状态和转移来描述字符串的匹配过程,是词法分析器的理论基础
数据链路层把网络层的 IP 包封装成"帧"(Frame),加上头部和尾部,并附加校验码——让接收方发现传输中的错误。就像寄快递时在箱子外面贴面单、里面放易碎标签
关系模型(Relational Model)把数据抽象为"关系"(表),用集合论的运算(选择、投影、连接)来操作数据——SQL 就是基于关系代数设计的
求值策略决定函数调用时参数的计算方式——传值(值拷贝)、传引用(地址)、传共享(对象引用)、惰性求值(需要时才算)
公钥密码用一对密钥——公钥加密、私钥解密,解决了对称加密的密钥分发问题。RSA 基于大整数分解,ECC 基于椭圆曲线离散对数
光栅化把三角形转换成像素——判断像素在三角形内部。Z-buffer(深度缓冲)解决"哪个像素在前"的问题——每个像素存最近物体的深度值
DDoS 用海量流量淹没目标,MITM 在通信双方之间窃听或篡改。防御需要多层策略——限流、加密、认证、监控
分布式存储把数据分散到多台机器——分片(Sharding)分散数据,复制(Replication)保证可用。GFS/HDFS 是分布式文件系统的代表,用主节点管理元数据
Shor 算法能在多项式时间内分解大整数——威胁 RSA 加密。Grover 算法在未排序数据库中平方加速搜索。两者展示了量子计算超越经典计算的潜力
智能合约(Smart Contract)是运行在区块链上的自动执行程序——代码即法律。Solidity 是以太坊智能合约的主要语言,Gas 是执行合约的"燃料"
定理证明器把数学证明写成代码——计算机检查每一步逻辑推导是否严格正确。Curry-Howard 同构揭示"证明即程序,命题即类型"
语法分析(Syntax Analysis / Parsing)是编译的第二阶段——把 Token 序列组织成语法树,检查程序的结构是否符合语言的语法规则
以太网(Ethernet)是最成功的局域网技术——它使用 CSMA/CD 协议让多台计算机共享同一根网线,通过"先听后说,边说边听,冲突检测"的机制避免数据碰撞
SQL(Structured Query Language)是操作关系数据库的标准语言——DDL 定义表结构,DML 操作数据
高阶函数是把函数当成"一等公民"——函数可以作为参数传递、作为返回值返回。闭包(Closure)是函数 + 捕获的环境
需求分析(Requirements Analysis)是确定"系统应该做什么"的过程——功能需求描述行为,非功能需求描述质量属性(性能、安全、可用性)
纹理映射(Texture Mapping)把 2D 图像"贴"到 3D 模型表面——让模型有颜色和细节而不需要增加三角形。Mipmap 和滤波解决缩放时的锯齿和模糊问题
线性回归拟合连续值(房价预测),逻辑回归输出概率(分类)。梯度下降是训练它们的最基本优化算法
Web 安全漏洞是 OWASP Top 10 中最常见的安全风险——XSS 注入脚本、SQL 注入操纵数据库、CSRF 伪造用户请求。输入验证和输出编码是防御核心
MapReduce 是 Google 提出的大数据处理模型——Map 阶段并行处理数据,Shuffle 阶段按 key 分组,Reduce 阶段聚合结果。适合离线批量处理
量子比特极易受环境噪声干扰——量子纠错用多个物理 qubit 编码一个逻辑 qubit,检测并纠正错误。表面码(Surface Code)是当前最主流的方案
DApp 是运行在区块链上的应用——前端 + 智能合约。用户通过钱包签名交易与合约交互,数据存储在链上,不可篡改
Hoare Logic 用前置条件、程序、后置条件的三元组 {P} C {Q} 来推理程序的正确性。分离逻辑扩展了 Hoare Logic,能处理指针和堆操作
线程(Thread)是进程内的"轻量级执行流"——同一进程的多个线程共享内存空间,可以并行处理不同任务,就像厨房里多个厨师共用同一套厨具做不同的菜
交换机(Switch)是局域网的"智能分发器"——它通过自学习算法自动记录每台电脑的 MAC 地址在哪个端口,让数据只发给需要的目标,不像集线器那样无脑广播
连接(JOIN)把多个表的数据按关联条件合并,子查询(Subquery)把一个查询的结果作为另一个查询的输入——它们是 SQL 最强大的功能
二叉搜索树(Binary Search Tree, BST)对每个节点,左子树所有值 < 节点值 < 右子树所有值——查找、插入、删除平均 O(log n)
软件架构(Software Architecture)是系统的"骨架"——模块划分、组件关系、通信方式。设计模式(Design Pattern)是常见问题的可复用解决方案
着色(Shading)计算每个像素的最终颜色——Phong 模型分解为环境光+漫反射+高光,Blinn-Phong 是更高效的变体。BRDF 描述材质对光的反射特性
决策树用 if-else 规则树做分类——每个节点问一个问题,根据答案走不同分支。随机森林用多棵决策树投票,大幅降低过拟合
恶意软件(病毒、蠕虫、木马、勒索软件)是损害计算机系统的程序。分析恶意软件需要静态分析(反汇编)和动态分析(沙箱运行)两种手段
消息队列(MQ)解耦生产者和消费者——生产者发消息到队列,消费者异步处理。Kafka 是高性能分布式消息系统,用分区和日志实现高吞吐
量子计算机的物理实现有多种技术路线——超导 qubit(IBM/Google)在极低温下工作,离子阱(IonQ)用电磁场囚禁离子,光量子(Xanadu)用光子
L1(以太坊主链)每秒只能处理约 15 笔交易——太慢了。Layer2 把大量交易在链下处理,只把结果提交到主链。Rollup 是当前最主流的 L2 方案
上下文切换(Context Switch)是操作系统暂停当前进程、恢复另一个进程执行的过程——它让多任务成为可能,但也是不容忽视的性能开销
LR 解析器从输入的 Token 序列出发,逐步归约到开始符号——它能处理的文法种类比 LL 更多,是 Yacc/Bison 等解析器生成器使用的方法
IP(Internet Protocol)是互联网的"寻址系统"——每个设备有唯一的 IP 地址,路由器根据 IP 地址把数据包从源头发送到目的地
ARP(Address Resolution Protocol)把 IP 地址解析为 MAC 地址——当你知道对方的 IP 地址,但不知道它在哪台交换机端口时,ARP 帮你"喊一声"找到它
视图是"虚拟表",索引加速查询,事务保证多步操作的原子性——它们是 SQL 进阶的三大武器
堆是完全二叉树——最大堆的父节点 >= 子节点,最小堆相反。插入和删除堆顶 O(log n),常用于优先队列和堆排序
代数数据类型(Algebraic Data Type, ADT)用"组合"的方式构造类型——积类型(Product)是 AND,和类型(Sum)是 OR。模式匹配(Pattern Matching)是解构 ADT 的优雅方式
阴影(Shadow Mapping)判断点是否被光源照到——从光源视角渲染深度图再比对。环境光遮蔽(SSAO)模拟角落因多次遮挡而变暗的效果
SVM 在特征空间中找最大间隔超平面——让两类数据离分界线越远越好。核技巧把低维不可分的数据映射到高维使其可分
防火墙控制网络流量访问规则(允许/拒绝),IDS/IPS 检测并阻止可疑活动。规则匹配和异常检测是两种基本方法
微服务把单体应用拆成独立小服务——每个服务独立开发、部署、扩展。服务发现、API 网关、配置中心、链路追踪是微服务架构的关键组件
竞争条件(Race Condition)是多个线程同时访问共享数据时,执行顺序影响结果的"竞速"问题——是并发编程中最常见也最难调试的 Bug 来源
抽象语法树(Abstract Syntax Tree, AST)是语法分析的核心输出——它去掉了括号、分号等语法细节,只保留程序的"骨架结构"
函数依赖(Functional Dependency)描述表中列之间的"决定关系"——如果学号确定,姓名就唯一确定,就说"学号 → 姓名"
平衡树在插入/删除后通过旋转保持左右子树高度差在允许范围内——保证所有操作 O(log n),不会退化为链表
光线追踪(Ray Tracing)模拟光线的传播路径——从相机发射光线,弹射到场景中,计算光照贡献。相比光栅化,它能更真实地处理反射、折射和全局光照
SSDLC 把安全融入软件开发的每个阶段——需求阶段做威胁建模、设计阶段做安全设计评审、编码阶段遵守安全规范、测试阶段做安全测试、运维阶段持续监控
Docker 打包应用和依赖成"镜像"——一次构建到处运行。Kubernetes 自动管理容器——调度、伸缩、服务发现、滚动更新
函数调用时,参数、返回地址、局部变量都存放在哪里?栈帧(Stack Frame)是管理函数调用的核心机制,而调用约定(Calling Convention)则是函数间"约法三章"的规则
互斥锁(Mutex)是"一把钥匙开一把锁",信号量(Semaphore)是"限流栏杆"——它们是操作系统解决并发同步问题的两大经典工具
语义分析(Semantic Analysis)检查程序的"逻辑合理性"——类型检查、变量是否声明、函数参数是否匹配。符号表(Symbol Table)记录每个标识符的属性信息
子网划分(Subnetting)把大网络切成小段避免浪费,CIDR(无类别域间路由)让路由表变小变高效——它们是 IPv4 时代"节衣缩食"的智慧
范式(Normal Form)是评价关系表设计"好坏"的标准——范式越高,数据冗余越少,更新异常越少
软件测试是保证代码质量的核心手段——单元测试测函数,集成测试测模块协作,E2E 测试测完整业务流程
量子计算对经典密码学构成威胁——Shor 算法可以破解 RSA 和 ECC。量子密钥分发(QKD)利用量子力学原理保证通信安全
加速结构让光线追踪不用逐一检查每个物体——BVH 用包围盒分层组织,KD-Tree 用空间划分。两者把求交计算从 O(n) 降到 O(log n)
聚类把数据分成几组——"物以类聚"。k-Means 指定组数迭代优化,DBSCAN 按密度聚类,自动发现任意形状的簇
数字取证(Digital Forensics)从电子设备中收集和分析证据——硬盘取证恢复删除文件,内存取证分析运行中的恶意软件,网络取证追踪攻击流量
分布式事务跨越多个节点——2PC(两阶段提交)用协调者保证所有节点全提交或全回滚,但阻塞。Saga 把长事务拆分为子事务+补偿操作
函数调用时,参数可以通过寄存器或栈来传递——寄存器快但数量有限,栈慢但容量大。不同的调用约定就是在这两者之间做权衡
生产者-消费者、读者-写者、哲学家就餐——这三个经典问题是并发同步的"面试题",掌握它们就掌握了 Mutex、信号量和条件变量的实战用法
类型检查(Type Checking)确保程序中的每个表达式类型一致——整数不能当函数用,字符串不能做除法。类型推导(Type Inference)则能自动推断类型,你不用写 int x = 1 中的 int
路由算法决定了数据包从源到目标经过哪些路由器——距离向量(RIP)邻居之间交换路由表,简单但收敛慢;链路状态(OSPF)每台路由器有全网地图,复杂但高效。BGP 是全球互联网的路由协议
DFS(深度优先搜索)用栈/递归深入到底再回溯,BFS(广度优先搜索)用队列逐层扩散——是最基本的两种图/树搜索算法
类型推导(Type Inference)让编译器自动推断类型——你不用写 `int x = 1` 中的 int。参数多态(泛型)让函数对不同类型都适用
CI(持续集成)频繁把代码合并到主分支并自动构建测试,CD(持续部署/交付)自动化部署到生产环境——DevOps 是开发(Dev)和运维(Ops)的文化融合
密码分析(Cryptanalysis)是研究如何破解密码系统的科学——从频率分析破解古典密码到侧信道攻击窃取现代密钥,攻防对抗推动密码学发展
GPU 是专为并行图形计算设计的处理器——数千个核心同时处理像素和顶点。CUDA/GLSL 让通用计算也能利用 GPU 的并行能力
PCA 把高维数据投影到低维——保留数据"方差最大"的方向。用于降维、可视化、去噪,是机器学习中最常用的无监督方法之一
函数调用自身看起来像"自我循环"——栈帧机制让它成为可能。每调用一次自己,栈上就多一层帧,返回时再从最内层逐层弹出
死锁(Deadlock)是两个或多个线程互相等待对方释放资源,导致所有线程都无法继续执行的"僵局"——就像两个人面对面让路,你往左他往右,谁也过不去
中间表示(Intermediate Representation, IR)是编译器前端的输出和后端的输入——它比 AST 更接近机器码,但又独立于具体架构,是"优化"的主战场
IPv6 是为解决 IPv4 地址耗尽问题而设计的新一代 IP 协议——128 位地址让地球上的每粒沙子都能分配一个 IP,同时简化了包头、取消了 NAT。ICMP 是网络层的"诊断工具"
B+ 树是关系数据库最常用的索引结构——它是多路平衡查找树,所有数据都在叶子节点,内部节点只存"路标",适合磁盘块存储和大规模范围查询
Dijkstra 算法从单源点出发找最短路径——贪心思想,每次选当前最近的点扩展。Floyd 算法用动态规划求所有点对的最短路径
子类型(Subtyping)是类型之间的"is-a"关系——Cat 是 Animal 的子类型。变型(Variance)描述容器类型在子类型关系下的行为
代码审查(Code Review)让其他开发者检查你的代码——发现 Bug、提高可读性、分享知识。重构是在不改变外部行为的前提下优化内部结构
Bézier 曲线用控制点定义平滑曲线——每个控制点"拉"曲线向自己。B-Spline 和 NURBS 是更通用的曲线曲面表示,广泛用于 CAD 和建模
神经网络(MLP)是多层感知器的堆叠——每层是线性变换+非线性激活函数。反向传播通过链式法则计算梯度,是训练神经网络的核心算法
在 C 代码中直接嵌入汇编指令,既能享受高级语言的开发效率,又能在关键处发挥汇编的性能优势——这是操作系统内核、嵌入式系统和游戏引擎的常用技巧
每个程序都以为自己独占全部内存——这是操作系统的"障眼法",通过逻辑地址(虚拟地址)和物理地址的分离,让每个程序拥有独立的地址空间
代码生成(Code Generation)是编译器的"后端"——把平台无关的 IR 翻译成目标 CPU(x86、ARM、RISC-V)的机器指令。指令选择和寄存器分配是两大核心任务
NAT(网络地址转换)让多个设备共享一个公网 IP——你的手机、电脑、平板共用一个路由器的公网 IP 上网。DHCP 自动分配 IP 地址——不用每台设备手动配置
最小生成树(MST)是连通无向图中边权和最小的生成树——Kruskal 排序选边(并查集),Prim 从点出发扩展(类似 Dijkstra)
操作语义(Operational Semantics)用"程序如何一步步执行"来定义语言的含义——小步语义一次一步,大步语义一次到最终结果
API(应用程序接口)是软件系统之间的通信契约。REST 是最流行的 API 设计风格——以资源为中心,用 HTTP 方法操作资源
计算机动画让 3D 模型"动"起来——关键帧动画插值姿态,骨骼动画驱动角色变形,蒙皮把骨骼运动和网格绑定。物理模拟让运动更真实
CNN 用卷积核扫描图像——检测边缘、纹理、形状等特征。池化层压缩尺寸,多层堆叠从简单特征组合成复杂语义。LeNet、ResNet 是经典架构
反汇编(Disassembly)是把机器码还原为汇编的过程——用于理解程序行为、分析恶意软件、逆向工程和调试崩溃
分页(Paging)是将内存划分为固定大小的"页"(Page/Frame),通过页表实现虚拟地址到物理地址的灵活映射——是现代操作系统内存管理的基石
寄存器分配(Register Allocation)决定哪些变量存寄存器、哪些"溢出"到内存——图着色是最经典的算法,把寄存器分配转化为给"干扰图"着色的问题
UDP(User Datagram Protocol)是传输层的"平信"——不建立连接、不保证可靠、不重传丢失的包,但速度快、开销小,适合实时应用
查询优化器(Query Optimizer)把 SQL 翻译成执行计划——选择索引、决定 JOIN 顺序、估算代价——让同样的查询跑得更快
垃圾回收(Garbage Collection, GC)自动回收不再使用的内存——程序员不用手动 free/delete。标记-清除、复制、分代回收是三种主要算法
PBR(基于物理的渲染)用物理参数(粗糙度、金属度)代替"调参数"——让材质在不同光照下始终真实。实时全局光照(RTX、Lumen)让间接光照和反射在游戏中成为可能
RNN 通过"记忆"处理序列数据——每个时间步的输出依赖于当前输入和上一步的"隐藏状态"。LSTM 用门控机制解决长序列中的梯度消失问题
缓冲区溢出(Buffer Overflow)是向固定大小的缓冲区写入超出容量的数据——看似简单的错误,却是几十年来最致命的软件安全漏洞之一,也是理解栈布局和保护机制的绝佳窗口
虚拟内存(Virtual Memory)让程序用比物理内存更大的地址空间——不常用的数据放在磁盘上,需要时再换进来,就像大学宿舍放不下的行李寄存到仓库
编译器优化(Optimization)在不解变程序语义的前提下改进代码——常量折叠、死代码消除、公共子表达式消除等"基本优化"是所有优化的基础
TCP(Transmission Control Protocol)是互联网最核心的传输协议——通过三次握手建立连接、序列号保证顺序、确认和重传保证可靠,让不可靠的 IP 网络变成可靠的通信通道
ACID 是数据库事务的四大特性——原子性(要么全做要么全不做)、一致性(数据总是正确)、隔离性(并发事务互不干扰)、持久性(提交了就永久保存)
归并排序稳定 O(n log n) 但需额外空间,快速排序平均 O(n log n) 且原地排序,堆排序 O(n log n) 无额外空间——各有优劣
并发模型解决了"多个执行流怎么协作"的问题——Actor 模型通过消息传递(Erlang、Akka),CSP 通过通道(Go、Clojure),共享内存通过锁(Java、C++)
安全编程(Secure Coding)是编写不易受攻击的代码——输入验证、输出编码、最小权限、纵深防御是四条基本原则
Transformer 用自注意力(Self-Attention)代替 RNN 处理序列——每个位置关注所有位置,并行计算效率远高于 RNN。是 GPT、BERT、LLM 的基础架构
SIMD(Single Instruction, Multiple Data,单指令多数据)让 CPU 用一条指令同时处理多个数据——是多媒体处理、科学计算和 AI 推理加速的基石
TLB(Translation Lookaside Buffer)是 CPU 内部的高速缓存,缓存最近使用的页表项——没有它,每次内存访问都要查 4 次页表,性能直接崩盘
程序 90% 的执行时间花在 10% 的代码上——而循环通常是那 10%。循环优化通过变换循环结构,大幅减少指令执行次数,是最有效的编译器优化之一
流量控制(Flow Control)防止发送方太快淹没接收方——用滑动窗口调节。拥塞控制(Congestion Control)防止网络中间路由器被撑爆——用慢启动和拥塞避免
隔离级别在并发性能和正确性之间做权衡——级别越高数据越安全,但并发性能越低。脏读、不可重复读、幻读是隔离级别要解决的三个问题
DSL(Domain-Specific Language)是为特定领域设计的专用语言——SQL 是数据查询 DSL,正则表达式是文本匹配 DSL,HTML 是页面结构 DSL
性能调优是系统的"体检"和"治疗"——先测量、找出瓶颈、再优化。"先测再改"是黄金法则,不要凭感觉优化
生成模型学习数据分布并生成新样本——GAN 用生成器和判别器对抗训练,VAE 用编码器-解码器学习隐空间,扩散模型逐步去噪生成图像
控制单元(Control Unit)是CPU的"指挥中心"——它解码指令,生成控制信号,指挥数据通路上每个部件在正确的时间做正确的事
指令流水线(Instruction Pipeline)让 CPU 同时执行多条指令的不同阶段——就像工厂流水线上不同工位同时处理不同的产品,大幅提升吞吐量
指令调度(Instruction Scheduling)在不改变程序语义的前提下重排指令顺序——让 CPU 流水线更顺畅、缓存更友好、利用指令级并行(ILP)提升性能
DNS(Domain Name System)把人类易记的域名(www.google.com)解析为机器可读的 IP 地址——是互联网的"通讯录"
分治(Divide and Conquer)把大问题分解成小问题分别解决再合并——递归是实现分治的自然方式。归并排序、快速排序都是分治思想的应用
强化学习让智能体在环境中通过"试错"学习——做动作获得奖励,目标是最大化总奖励。Q-Learning 学习动作价值函数,DQN 用神经网络近似 Q 函数
目录(Directory)是文件系统中组织文件的"树形索引"——它把文件名映射到 inode,而文件分配策略决定了磁盘块如何分配给文件
JIT(Just-In-Time Compilation)在程序运行时把热点代码编译成机器码——结合了解释器的灵活性和编译器的性能。Java JVM、V8(JavaScript)、LuaJIT 都使用 JIT
HTTP(超文本传输协议)是 Web 的"语言"——浏览器和服务器通过它交换 HTML、图片、API 数据。HTTPS 在 HTTP 上加了一层加密(SSL/TLS),让数据不被窃听
WAL(Write-Ahead Logging)是数据库故障恢复的核心——先写日志再写数据。Undo Log 回滚未提交的事务,Redo Log 重做已提交但未写入磁盘的事务
动态规划(Dynamic Programming, DP)把问题分解为重叠子问题,通过"记忆化"避免重复计算——最优子结构 + 状态转移方程是 DP 的核心
自然语言处理让计算机理解、生成人类语言——从词嵌入(Word2Vec)到预训练模型(BERT、GPT),NLP 经历了从"手动特征"到"大模型"的转变
电子邮件靠三个协议协同工作——SMTP 负责发信(送到邮件服务器),POP3 负责"下载到本地看",IMAP 负责"在服务器上看"
计算机视觉让计算机"看懂"图像和视频——图像分类识别物体类别,目标检测定位物体位置,语义分割给每个像素分类。YOLO 实现实时检测,SAM 实现通用分割
缓存(Cache)是CPU内部的高速存储器,填补了CPU和内存之间的速度鸿沟——利用局部性原理,把频繁使用的数据放在CPU"触手可及"的地方
中断(Interrupt)是硬件向CPU发出的"紧急通知",异常(Exception)是程序执行中出现的"意外事件"——它们让CPU能够暂停当前工作,处理紧急任务,再回来继续
设备驱动(Device Driver)是操作系统与硬件设备之间的"翻译官"——每种硬件设备都有自己独特的通信协议,而驱动程序把这些差异封装成统一的接口
WebSocket 在 HTTP 之上建立全双工通信通道——服务器可以主动向客户端推送数据,而不需要客户端反复轮询。适合聊天、实时通知、在线游戏
MLOps 把机器学习模型从"实验"变成"产品"——数据管理、实验追踪、模型部署、监控、持续迭代。和 DevOps 类似但增加了数据、模型版本管理等 ML 特有挑战
中断(Interrupt)是硬件通知 CPU 的"紧急信号"——键盘被按下了、网卡收到数据了、磁盘读完了,都通过中断通知 CPU 来处理
大 O 表示法(Big O Notation)描述算法效率随输入规模增长的"趋势"——它忽略常数和低阶项,只关注增长最快的部分
DMA(Direct Memory Access)让硬件设备可以直接读写内存,不需要 CPU 参与每字节的数据搬运——是现代高速 I/O(网卡、磁盘、GPU)性能的基石
P 问题能在多项式时间内解决,NP 问题的解能在多项式时间内验证——P = NP?这是计算机科学最大的未解之谜(千禧年难题之一)
RISC(精简指令集)和 CISC(复杂指令集)是两种不同的 CPU 指令集设计哲学——一个追求"小而快",一个追求"大而全",它们的竞争塑造了现代处理器格局
I/O 接口是 CPU 与外部设备通信的桥梁——从简单的轮询到中断驱动,再到 DMA 直接内存访问,每种方式都在"CPU 参与度"和"数据传输效率"之间做权衡
现代 CPU 融合了多核、超线程、乱序执行、分支预测、缓存层次等数十种技术——让单个芯片的算力达到数十亿次运算每秒