计算机基础知识总结:操作系统、网络、数据库与 C++
操作系统涵盖虚拟内存、进程线程、调度算法、锁机制等核心概念;计算机网络涉及 OSI 模型、TCP/IP 协议、HTTP 状态码及 QUIC 优化;数据库部分讲解 MySQL 索引事务锁及 Redis 基础;C++ 与数据结构部分包含内存管理、智能指针、虚函数及常用排序算法。文章旨在梳理计算机基础八股文知识点,帮助理解底层原理与编程实践。

操作系统涵盖虚拟内存、进程线程、调度算法、锁机制等核心概念;计算机网络涉及 OSI 模型、TCP/IP 协议、HTTP 状态码及 QUIC 优化;数据库部分讲解 MySQL 索引事务锁及 Redis 基础;C++ 与数据结构部分包含内存管理、智能指针、虚函数及常用排序算法。文章旨在梳理计算机基础八股文知识点,帮助理解底层原理与编程实践。

虚拟内存为程序提供比实际物理内存更大的内存空间,同时提高内存管理的灵活性和系统的多任务处理能力。虚拟地址空间是进程所能看到的连续、独立的内存空间,而实际地址空间是所有进程共享的有限物理内存。虚拟内存技术实现了内存隔离、内存扩展、物理内存管理和页面交换。
操作系统中的两种执行模式,控制对硬件资源的访问权限。用户态执行应用程序,内核态执行特权操作(系统调用、异常处理等)。内核态占用 CPU 时不能被抢占。
数组、链表、栈、队列、哈希表、树、图、集合、字典。每种结构适合解决特定问题。
协程是比线程更轻量的并发单元,由程序本身调度。轻量级、协作式调度、无需锁机制,适合高并发。协程在同一线程内顺序执行,减少竞态条件和死锁风险。
关注 CPU 利用率、系统吞吐量、周转时间、等待时间、响应时间。调度程序需权衡长任务和短任务,避免交互式应用等待时间过长。
先来先服务、最短作业优先、高响应比优先、时间片轮转、最高优先级、多级反馈队列。
通过锁、条件变量或信号量保证同步和互斥,解耦生产者和消费者,提升并发效率。
死锁需同时满足互斥、持有并等待、不可剥夺、环路等待四个条件。避免方法包括资源有序分配法破坏环路等待。
运行、就绪、阻塞。
wait() 可清理。后台运行的特殊进程,不与用户交互,执行系统级任务(如网络服务、日志记录)。
减少用户态与内核态上下文切换和内存拷贝次数。利用 DMA 技术,全程不通过 CPU 搬运数据。传输大文件用异步 I/O + 直接 I/O,小文件用零拷贝技术。
单一线程监视多个文件描述符。select/poll 轮询,epoll 事件通知。epoll 使用红黑树存储描述符,双向链表存储就绪事件,效率高。
收到事件后根据类型分发给处理线程。
8 字节,包含源/目的端口、长度、校验和。结构简单,不可靠传输。
通常 20 字节,包含序列号、确认号、窗口大小等。复杂头部支持可靠传输、流量控制、拥塞控制。
IPv4 地址由网络号和主机号组成。全 0 为主机号标识网络地址,全 1 为广播地址。
依赖接收方接收窗口大小调节发送速率。通过 ACK 携带窗口大小通知发送方。
慢开始、拥塞避免、快重传、快恢复。动态调整拥塞窗口值以适应网络状况。
TCP 面向字节流,无边界。解决办法:固定长度、特殊字符、长度前缀、自定义协议。
基于 UDP,改进可靠传输、队头阻塞、流量控制和拥塞控制。支持连接迁移,TLS 集成,0-RTT 建立连接。
连接器 -> 查询缓存 -> 解析器 -> 优化器 -> 执行器 -> 存储引擎。
ACID 特性:原子性、一致性、隔离性、持久性。
全局锁、表级锁 (表锁、元数据锁、意向锁)、行锁 (Record Lock, Gap Lock, Next-Key Lock)。
建立索引、索引优化、查询优化、事务锁管理、覆盖查询。
Redis 部分基础内容略。
unique_ptr(独占), shared_ptr(共享), weak_ptr(弱引用)。const int *p (指向常量), int * const p (常量指针)。动态数组,自动扩容 (通常 2 倍)。扩容涉及重新分配、复制、释放。
冒泡、选择、插入、快速、归并、堆排序。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online