计算机基础知识体系:计算机网络、操作系统、数据结构与算法
约 2609 字大约 9 分钟

这份 计算机基础知识体系 面向后端学习和面试复习,按“计算机网络 -> 操作系统 -> 数据结构 -> 算法”的顺序整理本站计算机基础相关文章。
如果你时间有限,建议先看 计算机网络常见面试题总结 和 操作系统常见面试题总结,快速建立高频问题清单;如果你想系统补基础,可以按下面的专题顺序推进。
整站配有 300+ 张技术配图,用图解的方式把抽象概念讲清楚,不是干巴巴的文字堆砌。

适合谁看
- 正在系统补齐计算机基础的后端开发者。
- 准备校招、社招、中大厂后端面试的同学。
- 想把网络、操作系统、数据结构和算法串成完整知识体系的读者。
- 已经写过业务代码,但对 TCP/IP、HTTP、进程线程、内存管理、树图、排序等基础不够扎实的工程师。
学习重点
- 计算机网络重点理解分层模型、TCP/UDP、HTTP/HTTPS、DNS、ARP、NAT 和常见网络安全问题。
- 操作系统重点理解进程线程、锁与同步、内存管理、虚拟内存、零拷贝、I/O 多路复用、文件系统、Linux 基础和 Shell 使用。
- 数据结构重点理解数组、链表、栈、队列、哈希表、树、图、堆、Trie、并查集、跳表、红黑树、布隆过滤器和 LRU 的特点与适用场景。
- 算法重点理解复杂度分析、二分、双指针、滑动窗口、DFS/BFS、回溯、动态规划、贪心、Top K、排序、字符串、链表和 LeetCode 高频题。
- 面试中要能把“概念 -> 原理 -> 对比 -> 场景 -> 常见问题”串成完整回答。
建议阅读顺序
- 计算机网络专题:先从分层模型、HTTP、TCP、DNS 和常见网络面试题入手,建立网络通信的整体认知。
- 操作系统专题:理解进程线程、内存、文件系统、Linux 和 Shell,为并发编程、JVM、数据库打基础。
- 数据结构专题:掌握线性表、哈希表、树、图、堆、Trie、并查集、跳表、红黑树、布隆过滤器、LRU 等常见结构。
- 算法专题:结合复杂度分析、核心算法模板和 LeetCode 高频题进行练习。
- 回到面试题做查缺补漏:重点复盘网络和操作系统高频问题,再把数据结构与算法题按类型刷一遍。
如果你的目标公司比较重算法,建议把第 3 步和第 4 步合在一起复习:先看一个数据结构,再刷对应题型。例如,看完 哈希表 就刷两数之和、前缀和;看完 堆 就刷 Top K;看完 树 和 图 后,再集中练 DFS 与 BFS、回溯 和 动态规划。
核心文章
计算机网络
- 计算机网络专题:按协议层梳理计算机网络核心知识和面试高频题。
- 计算机网络常见面试题总结(上):覆盖 OSI/TCP-IP 模型、HTTP、HTTPS、DNS 等基础问题。
- 计算机网络常见面试题总结(下):继续补充 TCP、UDP、网络安全、Socket 等常见问题。
- OSI 七层模型与 TCP/IP 四层模型详解:建立网络分层和协议职责认知。
- 从输入 URL 到页面展示到底发生了什么?:用一次完整请求串联 DNS、TCP、HTTP、浏览器渲染等知识点。
- HTTP vs HTTPS、HTTP 1.0 vs HTTP 1.1、HTTP 常见状态码总结:集中理解 HTTP 相关高频考点。
- TCP 三次握手和四次挥手、TCP 传输可靠性保障:掌握 TCP 最核心的连接管理和可靠传输机制。
操作系统
- 操作系统专题:从操作系统基础讲到 Linux 常见问题。
- 操作系统常见面试题总结(上):覆盖操作系统基础、进程线程、死锁、内存管理等问题。
- 操作系统常见面试题总结(下):继续整理文件系统、I/O、Linux 等面试考点。
- 进程与线程详解:区别、状态、通信、上下文切换与虚拟线程:讲清进程和线程的资源边界、状态转换、上下文切换和 Java 虚拟线程。
- 进程间通信(IPC)详解:管道、消息队列、共享内存、Socket 与 Binder:对比管道、消息队列、共享内存、Socket、Binder 等 IPC 机制。
- 操作系统锁与同步机制详解:mutex、semaphore、condition variable、spinlock 与 futex:讲清临界区、互斥锁、信号量、条件变量、自旋锁和 futex。
- 虚拟内存详解:地址转换、TLB、缺页中断与页面置换:讲清分页、页表、TLB、缺页中断和页面置换。
- I/O 多路复用详解:select、poll、epoll 原理与区别:讲清 select、poll、epoll 的实现原理、性能差异和适用场景。
- 零拷贝详解:mmap、sendfile 与 splice:讲清传统 I/O、mmap、sendfile、splice 的拷贝路径和工程应用。
- Linux 基础知识总结:掌握 Linux 目录、文件权限、常用命令和系统基础。
- Shell 编程基础知识总结:补齐脚本编写、变量、流程控制和常用命令能力。
数据结构
- 数据结构专题:按结构类型整理常见数据结构及图解。
- 线性数据结构详解:理解数组、链表、栈、队列的存储特点和操作复杂度。
- 哈希表面试题总结:理解哈希函数、哈希冲突、扩容和 Java
HashMap关联。 - 树结构详解:掌握二叉树、二叉搜索树、AVL、B 树、B+ 树等常见树结构。
- 图详解:理解图的表示、DFS、BFS 和最短路径等基础算法。
- 堆详解、红黑树详解、布隆过滤器详解:补齐高频工程结构和面试考点。
- Trie 前缀树面试题总结、并查集面试题总结、跳表面试题总结、LRU 缓存面试题总结:补齐字符串集合、连通性、Redis ZSet 和缓存淘汰等高频场景。
复习数据结构时,可以同步回看 Java 和数据库专题:数组/链表/哈希表对应 Java 集合,B+ 树对应 MySQL 索引,跳表对应 Redis 跳表,LRU 和布隆过滤器对应缓存场景。
算法
- 算法专题:整理常见算法思想、LeetCode 高频题和经典排序。
- 时间复杂度和空间复杂度面试指南:掌握 Big O、递归复杂度和常见复杂度误判。
- 二分查找面试题总结、双指针与滑动窗口面试题总结:掌握数组、字符串、链表题里最常见的手写模板。
- DFS 与 BFS 面试题总结、回溯算法面试题总结:掌握树、图、矩阵搜索、排列组合和路径枚举。
- 动态规划面试题总结、贪心算法面试题总结、Top K 问题面试题总结:补齐最优值、区间贪心、堆和数据流相关题型。
- 经典算法思想总结:覆盖二分、双指针、滑动窗口、回溯、动态规划等常见思想。
- 常见数据结构经典 LeetCode 题目推荐:按数据结构类型整理刷题路线。
- 几道常见的字符串算法题、几道常见的链表算法题:集中练习高频题型。
- 剑指 Offer 部分编程题、十大经典排序算法总结:适合面试前复盘。
算法刷题建议先把每类模板写稳,再做题单:经典算法思想总结 适合按题型刷,常见数据结构经典 LeetCode 题目推荐 适合按结构刷。
高频问题
- OSI 七层模型和 TCP/IP 四层模型分别是什么?每层解决什么问题?
- 从输入 URL 到页面展示,中间经历了哪些步骤?
- HTTP 和 HTTPS 有什么区别?HTTPS 为什么更安全?
- TCP 三次握手、四次挥手分别解决什么问题?TIME_WAIT 为什么存在?
- TCP 如何保证可靠传输?TCP 和 UDP 如何选型?
- 进程和线程有什么区别?什么是死锁,如何避免?
- 操作系统内存管理、虚拟内存、分页和分段分别是什么?
- 数组、链表、栈、队列、树、图、堆分别适合什么场景?
- 哈希表、红黑树、B+ 树、跳表、布隆过滤器、LRU 在工程中常用在哪里?
- 刷算法题时如何按题型建立解题模板?
相关专题
写在最后
如果内容对你有帮助的话,欢迎顺手给 JavaGuide 点一个免费的 Star 支持一下:GitHub | Gitee。
JavaGuide 已持续维护近七年,累计 6100+ 次提交,来自 620+ 位贡献者共同完善。你的 Star、反馈和 PR,都是这个项目继续更新的动力。
如果你正在准备后端/AI 应用开发面试,也可以了解一下我的知识星球,里面包括后端和 AI 实战项目、简历优化、一对一提问和高频考点资料,已经持续维护六年。
