# 计算机基础
无论是你什么方向,计算机基础(操作系统、网络、数据库)都是必备的。
卡码笔记-最强八股文第七版,整理大量面经,从里面归纳总结了,计算机基础的高频题目。
围绕实际面试中那些最常见、最容易深入追问、最能体现基础功底的问题来写。
例如操作系统中常见的:
- 进程和线程的区别
- 进程间通信方式
- 用户态和内核态
- 中断和异常
- 死锁及其处理方法
- 银行家算法
- 虚拟内存、分页、分段
- 页面置换算法
- IO 模型
- poll 为什么更高效
网络中常见的:
- TCP 和 UDP 的区别
- TCP 三次握手和四次挥手
- 为什么是三次握手、为什么是四次挥手
- TIME_WAIT 的作用
- TCP 如何保证可靠性
- 拥塞控制
- HTTP1.0、HTTP1.1、HTTP2.0 的区别
- HTTPS 工作原理
- 强缓存和协商缓存
- Cookie 和 Session 的区别
- DNS 查询过程
- 从输入 URL 到页面展示发生了什么
数据库中常见的:
- 一条 SQL 查询语句是如何执行的
- 事务四大特性
- 事务隔离级别
- 索引有哪些种类
- MySQL 为什么使用 B+ 树
- 索引失效的场景
- MVCC 机制
- 数据库锁
- MySQL 执行引擎
- MySQL 日志文件
这些题,很多同学都“看过”,甚至也“背过”。
但真正到了面试里,往往问题不在于你有没有见过,而在于:
- 能不能把核心原理讲清楚
- 能不能讲出设计背后的原因
- 能不能和相关知识点串起来
- 能不能顶住面试官继续追问
而这,正是这套内容最想帮大家解决的问题。
# 不只讲结论,更重视底层原理和面试深度
很多八股资料的问题在于:
只给你一个结论,或者只给你一段标准答案,看似方便记忆,实际上很难真正内化。
卡码笔记这套计算机基础内容,更强调 把问题讲透。
比如讲:
- 进程和线程的区别,不会只停留在“资源分配单位”和“调度单位”这两句话
- 虚拟内存,不会只告诉你“提高内存利用率”
- 三次握手和四次挥手,不会只让你机械背流程图
- 索引失效,不会只列一些零散场景让你死记硬背
- MVCC,不会只停留在名词解释
而是会进一步去讲:
- 这个机制解决了什么问题
- 它为什么要这样设计
- 底层执行流程是什么
- 相关知识点之间是如何关联的
- 面试官最喜欢从哪里继续追问
也就是说,这里的目标不是让你“背答案”,
而是让你在面试中真正做到 理解原理、会讲过程、能展开细节。
# 每个问题都有拓展,帮助你把知识点串成体系
真实面试从来不是一道题一道题孤立出现的。
一个问题背后,往往牵扯的是一整片知识网络。
所以这套内容在整理时,不只是回答当前问题本身,
还会尽量围绕问题做拓展,把相关知识点串起来,让你从“记一个点”升级成“理解一条线”。
例如:
- 看到 进程和线程,会进一步理解调度、同步、互斥、上下文切换
- 看到 死锁,会自然串到锁、资源竞争、死锁避免、银行家算法
- 看到 虚拟内存,会继续延伸到分页、分段、页面置换、内存管理
- 看到 TCP 可靠性,会顺带理解确认应答、重传、滑动窗口、流量控制、拥塞控制
- 看到 HTTPS,会继续延伸到非对称加密、对称加密、证书、TLS 握手
- 看到 B+ 树索引,会进一步串到页结构、回表、范围查询、索引失效
- 看到 事务隔离级别,会继续联系脏读、不可重复读、幻读、MVCC、锁机制
这样做的好处是,你在复习时不会感觉知识点零散,
而是能逐渐形成一套完整的计算机基础框架。
这对于面试尤其重要。
因为很多同学的问题不是“不知道”,而是知道得太碎,讲不成体系。
# 每个问题都配有图示,更容易理解,也更适合复习
操作系统、网络、数据库这三部分,本身就有大量流程、机制、结构类内容。
如果只是看文字,很多同学容易出现“看懂了,但脑子里没有画面”的情况。
所以这套内容特别强调 图示化表达。
每个问题都尽量配有图示,帮助你把抽象概念变成具体过程,把复杂原理变成可视化理解。
例如像这些内容,本身就非常适合配图理解:
- 进程与线程关系图
- 中断处理流程图
- 死锁形成条件图
- 分页、分段与虚拟内存示意图
- 页面置换算法过程图
- TCP 三次握手 / 四次挥手流程图
- 滑动窗口与拥塞控制示意图
- HTTP 演进对比图
- HTTPS 握手流程图
- DNS 查询流程图
- 从 URL 到页面展示的全链路图
- SQL 执行流程图
- B+ 树索引结构图
- MVCC 与事务隔离示意图
- MySQL 日志体系图
图示的价值,不只是“看起来更直观”,
更重要的是它能帮助你:
- 更快理解复杂流程
- 更牢固地记住知识点
- 在面试前更高效地复习
- 在回答问题时脑中更有结构感
真正高质量的面试内容,不只是写得全,
更要做到 让大家看得懂、记得住、讲得清。
以下为目录:
# 操作系统
# 基础概念
# 中断与异常
# 同步与互斥
# 死锁
# 内存管理
# I/O 与设备管理
# 其他
# 网络
# 基础概念
- TCP和UDP的区别是什么?
- HTTP请求方式有哪些?
- GET请求和POST请求的区别?
- HTTP中常见的状态码有哪些?分别是什么含义?
- HTTP请求中的头部字段有哪些常见的类型?它们各自的作用是什么?
# TCP 深入
- TCP三次握手的详细流程及核心目的?
- 三次握手的过程?以及为什么是三次而不是四次和两次
- 四次挥手的过程是怎样的?为什么是四次而不是三次或五次?
- TTIME_WAIT状态的作用?
- TCP连接如何确保可靠性?
- 能说说拥塞控制是怎样实现的吗?
- TCPKeepalive和HTTPKeep-Alive的区别?
评论
验证登录状态...