☰
程序员基本功的术语大全的庖丁解牛
2026/10/9 19:24:08 网站建设 项目流程

根因

很多程序员把基本功等同于背诵API、熟练使用框架。但框架、工具、编程语言版本会持续迭代,几年就会更新换代。
程序员基本功,是一套稳定不变的底层认知与动手能力,不绑定任何框架。它的核心价值:当遇到陌生技术、诡异偶现Bug、性能瓶颈、线上故障时,可以穿透表层现象,定位根因,做出合理技术取舍。
基本功不是一次性学完,而是持续打磨,分为四大板块:计算机底层理论、编码能力、工程实践能力、排障与学习能力。
核心矛盾:上层框架屏蔽了底层细节,容易让人只懂调用不懂原理;基本功就是把被框架封装隐藏的底层逻辑重新捡回来。

原子术语逐个拆解

一、计算机底层基础

  1. 二进制 Binary
    计算机硬件只识别高低电平,用0、1存储一切数据。所有文本、图片、程序、网络报文,底层全部是二进制流。位运算、内存存储、文件解析都建立在二进制之上。

  2. 位 Bit / 字节 Byte
    bit是最小信息单位;1 Byte = 8 bit。内存容量、文件大小、网络传输流量计量单位。

  3. 编码 Encoding
    文字和二进制字节之间的映射规则。UTF-8、GBK都是编码。同一个字符,不同编码对应的字节序列不一样,乱码根源就是编码不匹配。

  4. 内存 Memory
    程序运行时临时存放指令与数据的空间,断电丢失。区分物理内存、虚拟内存、栈、堆。理解内存分配、拷贝、回收,看懂变量在内存中的形态。

  5. 寻址 Addressing
    CPU通过内存地址定位数据。数组下标、指针、虚拟内存、页表都围绕寻址。

  6. CPU 中央处理器
    执行机器指令,运算、跳转、读取内存。寄存器是CPU内部高速存储单元。理解指令执行流水线、缓存层级,看懂性能瓶颈。

  7. ALU算术逻辑单元
    CPU内部负责算术运算、位运算的模块。加减、与或异或运算都在这里执行。

  8. 操作系统 OS
    管理硬件资源的软件。对程序做进程隔离、内存管理、调度、IO管理、文件系统、网络协议栈。程序不能直接操作硬件,必须调用操作系统系统调用。

  9. 进程 Process
    程序加载进内存运行后的实例,拥有独立地址空间,操作系统资源隔离单位。

  10. 线程 Thread
    进程内的执行流,共享进程内存资源,轻于进程。操作系统调度的最小单位。

  11. 并发 Concurrency
    宏观上多个任务交替推进,不一定多核并行。并行Parallelism:多核CPU同一时刻同时执行多个任务。

  12. 上下文切换 Context Switch
    CPU从一个线程切到另一个线程,保存/恢复寄存器、栈信息。有性能开销,过多上下文切换会造成服务卡顿。

  13. IO Input/Output
    程序和外部设备的数据交互。磁盘IO、网络IO。IO速度远慢于CPU运算,绝大多数系统瓶颈来自IO。

  14. 文件系统 File System
    操作系统管理磁盘数据的方式,把磁盘二进制数据抽象成文件、目录。

  15. Socket套接字
    操作系统提供的网络通信端点,用来实现TCP/UDP通信。

  16. TCP 传输控制协议
    面向连接、可靠传输。三次握手、四次挥手、滑动窗口、拥塞控制、重传。HTTP、HTTPS底层依赖TCP。

  17. UDP 用户数据报协议
    无连接、不可靠,开销小,不保证送达、顺序。直播、DNS常用。

二、数据结构与算法基本功

  1. 时间复杂度 Time Complexity
    衡量算法随数据量增长的运行时间增长趋势,大O表示法。不统计绝对耗时,衡量量级。

  2. 空间复杂度 Space Complexity
    算法运行额外占用内存空间的量级。

  3. 数组 Array
    连续内存存储,随机访问快,中间增删慢。PHP底层HashTable实现的数组是复合结构。

  4. 链表 Linked List
    内存不连续,节点保存数据+下一个节点指针。随机访问慢,头尾增删快。

  5. 栈 Stack
    后进先出LIFO。函数调用栈、表达式求值。栈空间有限,递归太深栈溢出。

  6. 队列 Queue
    先进先出FIFO。任务排队、消息处理。

  7. 哈希表 Hash Table
    通过哈希函数,key映射到存储位置,平均O(1)查找。存在哈希碰撞,需要冲突解决方案。PHP数组底层就是哈希表。

  8. 树 Tree
    分层非线性结构。二叉树、平衡树、B+树。数据库索引底层就是B+树。

  9. 排序 Sort
    基础算法:冒泡、插入、快排、归并。理解各自复杂度、稳定性、适用场景。

  10. 查找 Search
    顺序查找、二分查找。二分查找前提是有序数组。

  11. 递归 Recursion
    函数调用自身,分解大问题为同类型子问题。必须具备终止条件,注意栈溢出风险。

  12. 贪心 Greedy
    每一步选当前局部最优,不一定得到全局最优。

  13. 动态规划 DP
    拆分问题,保存子问题结果,避免重复计算,解决最优解问题。

三、编码基本功

  1. 语法 Syntax
    编程语言的语法规则,语句、表达式、关键字。语法错误程序无法解析。

  2. 词法分析、语法分析、AST抽象语法树
    源码解析的基础流程,解释器/编译器读懂代码的过程。

  3. 变量 Variable
    命名内存空间。理解作用域、生命周期、值拷贝、引用、写时复制。

  4. 函数 Function
    封装一段可复用逻辑,输入参数,输出返回值。理解参数传递、闭包、副作用、纯函数。

  5. 控制流 Control Flow
    代码执行顺序:顺序、分支if/switch、循环for/while、跳转。

  6. 注释 Comment
    给人阅读的说明,机器忽略。注释解释为什么这么写,而不是复述代码做了什么。

  7. 命名规范 Naming Convention
    变量、函数、类命名。做到见名知意,降低团队认知负载。好命名减少大量注释。

  8. 代码可读性 Readability
    代码首要读者是人,其次是机器。精简逻辑、合理拆分,拒绝炫技晦涩写法。

  9. 模块化 Modularization
    拆分代码为独立模块,高内聚低耦合。单一职责原则。

  10. 抽象 Abstraction
    屏蔽底层细节,对外暴露简洁接口。理解抽象泄漏,不滥用抽象。

  11. 异常处理 Exception Handling
    捕获异常、兜底、错误返回。预判异常场景,防止程序崩溃。

  12. 单元测试 Unit Test
    最小代码单元的自动化测试。验证函数逻辑正确性,修改代码快速发现回归bug。

  13. 防御性编程 Defensive Programming
    校验入参、处理边界、兜底逻辑,提前规避非法输入造成的异常。

  14. 重构 Refactor
    不改变外部功能,优化内部代码结构,清理技术债务。

四、工程与工具基本功

  1. Git 版本控制
    源代码版本管理。提交、分支、合并、冲突解决、回滚、标签。团队协作必备基本功。

  2. Linux 基础
    文件操作、权限、进程查看、日志查看、管道、文本处理命令。后端开发必备。

  3. Shell
    命令行脚本,自动化批量任务。

  4. 正则表达式 Regex
    文本匹配、提取、替换。日志处理、表单校验常用。

  5. SQL 基础
    增删改查、where、join、group by、索引、事务。理解索引原理,会写不产生全表扫描的SQL。

  6. 索引 Index
    数据库加速查询的数据结构,提升读性能,降低写入性能。

  7. 事务 Transaction
    数据库ACID,保证一组操作要么全部成功,要么全部回滚。隔离级别、锁、脏读、不可重复读、幻读。

  8. HTTP/HTTPS
    请求响应模型、请求方法、状态码、Header、Cookie、Session、缓存机制。Web开发基本功。

  9. 调试 Debug
    断点、打印日志、观测变量,定位代码错误。不是靠猜bug,靠证据定位。

  10. 日志 Log
    分级记录程序运行信息。INFO、WARN、ERROR。日志是线上排障核心手段。

  11. 基准测试 Benchmark
    测试代码、接口性能,量化QPS、延迟,找到性能瓶颈。

  12. CI/CD 持续集成持续交付
    自动构建、自动测试、自动部署。工程自动化。

五、思维基本功

  1. 根因分析 Root Cause Analysis
    不只修复现象,找到问题最底层诱因。区分表象和根本原因。

  2. Trade-off 技术取舍
    没有完美方案,任何选型都有得有失。能清晰说出方案收益与代价。

  3. 边界条件 Edge Case
    正常流程之外极端场景,空值、极值、并发、超时。Bug大多藏在边界。

  4. 系统思维 System Thinking
    跳出单一代码片段,看完整调用链路。接口慢,不只看代码,看数据库、网络、依赖服务。

  5. 元认知 Metacognition
    思考自己的思考,识别知识盲区,搭建知识体系。区分“看懂demo”和“真正掌握原理”。

  6. 最小验证 Demo
    遇到不确定猜想,写最小复现代码验证猜想,而不是直接大规模开发。

  7. 估算能力 Back-of-the-envelope calculation
    粗略估算内存、流量、QPS,评估方案可行性。

通俗类比

程序员基本功,如同木匠的基础手艺。
框架和第三方库 = 成品电动工具,拿来就能快速加工木料;
基本功 = 看懂木材纹理、测量、锯、刨、凿的基础能力。
只会用电动工具的人,工具一出故障,就无法继续干活;基本功扎实的人,哪怕换一套全新工具,也能快速上手,看懂问题,判断材料与工艺取舍。
底层计算机原理,就是木材、力学的基础知识;算法是下料规划;Linux、Git、SQL是量具与工作台;调试、根因分析就是排查木料开裂、加工瑕疵的能力。

误区澄清

  1. 基本功不等于熟记所有算法难题。不是刷难题,而是理解基础数据结构、复杂度、底层原理,能应用到业务中。
  2. 基本功不是脱离业务纸上谈兵。学习底层的目的是解决业务问题,不是单纯钻研理论炫技。
  3. 会写代码 ≠ 基本功扎实。能调通功能只是入门;能预判风险、定位诡异线上问题、权衡方案,才体现基本功。
  4. 基本功不是一次性学完。需要在写代码、排故障、做项目的过程中反复巩固,持续加深理解。
  5. 编程语言高级特性不属于基本功。基本功偏向通用能力,换语言依然可用;语言语法属于上层知识。

扎实的基本功,是前面所有概念的地基。写Web服务、反向代理、PHP脚本、设计API,底层都建立在进程、内存、TCP、IO、哈希表这些基本功之上。基本功扎实,更容易理解程序、脚本、Web环境、反向代理的运行原理,在遇到故障时快速做根因分析,做出合理的技术取舍,也就是前面提到的程序员觉醒。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询