跳转至

小林 x 图解计算机基础

👉 点击:图解计算机基础在线阅读

本站所有文章都是我公众号:小林 coding的原创文章,内容包含图解计算机网络、操作系统、计算机组成、数据库,共 1000 张图 + 50 万字,破除晦涩难懂的计算机基础知识,让天下没有难懂的八股文(口嗨一下,大家不要当真哈哈)!🚀

曾经我也苦恼于那些晦涩难弄的计算机基础知识,但在我啃了一本又一本的书,看了一个又一个的视频后,终于对这些“家伙”有了认识。我想着,这世界上肯定有一些朋友也跟我有一样的苦恼,为此下决心,用图解 + 通熟易懂的讲解来帮助大家理解,利用工作之余,坚持输出图解文章两年之久,这才有了今天的网站!

《图解网络》

  • 介绍:point_down::
  • 图解网络介绍
  • 网络基础篇 :point_down:
  • TCP/IP 网络模型有哪几层?
  • 键入网址到网页显示,期间发生了什么?
  • Linux 系统是如何收发网络包的?
  • HTTP 篇 :point_down:
  • HTTP 常见面试题
  • HTTP/1.1 如何优化?
  • HTTPS RSA 握手解析
  • HTTPS ECDHE 握手解析
  • HTTPS 如何优化?
  • HTTP/2 牛逼在哪?
  • HTTP/3 强势来袭
  • 既然有 HTTP 协议,为什么还要有 RPC?
  • 既然有 HTTP 协议,为什么还要有 WebSocket?
  • TCP 篇 :point_down:
  • TCP 三次握手与四次挥手面试题
  • TCP 重传、滑动窗口、流量控制、拥塞控制
  • TCP 实战抓包分析
  • TCP 半连接队列和全连接队列
  • 如何优化 TCP?
  • 如何理解是 TCP 面向字节流协议?
  • 为什么 TCP 每次建立连接时,初始化序列号都要不一样呢?
  • SYN 报文什么时候情况下会被丢弃?
  • 四次挥手中收到乱序的 FIN 包会如何处理?
  • 在 TIME_WAIT 状态的 TCP 连接,收到 SYN 后会发生什么?
  • TCP 连接,一端断电和进程崩溃有什么区别?
  • 拔掉网线后,原本的 TCP 连接还存在吗?
  • tcp_tw_reuse 为什么默认是关闭的?
  • HTTPS 中 TLS 和 TCP 能同时握手吗?
  • TCP Keepalive 和 HTTP Keep-Alive 是一个东西吗?
  • TCP 协议有什么缺陷?
  • 如何基于 UDP 协议实现可靠传输?
  • TCP 和 UDP 可以使用同一个端口吗?
  • 服务端没有 listen,客户端发起连接建立,会发生什么?
  • 没有 accept,可以建立 TCP 连接吗?
  • 用了 TCP 协议,数据一定不会丢吗?
  • TCP 四次挥手,可以变成三次吗?
  • TCP 序列号和确认号是如何变化的?
  • IP 篇 :point_down:
  • IP 基础知识全家桶
  • ping 的工作原理
  • 断网了,还能 ping 通 127.0.0.1 吗?
  • 学习心得 :point_down:
  • 计算机网络怎么学?
  • 画图经验分享

《图解系统》

  • 介绍:point_down::
  • 图解系统介绍
  • 硬件结构 :point_down:
  • CPU 是如何执行程序的?
  • 磁盘比内存慢几万倍?
  • 如何写出让 CPU 跑得更快的代码?
  • CPU 缓存一致性
  • CPU 是如何执行任务的?
  • 什么是软中断?
  • 为什么 0.1 + 0.2 不等于 0.3?
  • 操作系统结构 :point_down:
  • Linux 内核 vs Windows 内核
  • 内存管理 :point_down:
  • 为什么要有虚拟内存?
  • malloc 是如何分配内存的?
  • 内存满了,会发生什么?
  • 在 4GB 物理内存的机器上,申请 8G 内存会怎么样?
  • 如何避免预读失效和缓存污染的问题?
  • 深入理解 Linux 虚拟内存管理
  • 深入理解 Linux 物理内存管理
  • 进程管理 :point_down:
  • 进程、线程基础知识
  • 进程间有哪些通信方式?
  • 多线程冲突了怎么办?
  • 怎么避免死锁?
  • 什么是悲观锁、乐观锁?
  • 一个进程最多可以创建多少个线程?
  • 线程崩溃了,进程也会崩溃吗?
  • 调度算法 :point_down:
  • 进程调度/页面置换/磁盘调度算法
  • 文件系统 :point_down:
  • 文件系统全家桶
  • 进程写文件时,进程发生了崩溃,已写入的数据会丢失吗?
  • 设备管理 :point_down:
  • 键盘敲入 A 字母时,操作系统期间发生了什么?
  • 网络系统 :point_down:
  • 什么是零拷贝?
  • I/O 多路复用:select/poll/epoll
  • 高性能网络模式:Reactor 和 Proactor
  • 什么是一致性哈希?
  • 学习心得 :point_down:
  • 如何查看网络的性能指标?
  • 画图经验分享
  • 学习心得 :point_down:
  • 计算机网络怎么学?
  • 画图经验分享

《图解 MySQL》

  • 介绍:point_down::
  • 图解 MySQL 介绍
  • 基础篇:point_down::
  • 执行一条 select 语句,期间发生了什么?
  • MySQL 一行记录是怎么存储的?
  • 索引篇 :point_down:
  • 索引常见面试题
  • 从数据页的角度看 B+ 树
  • 为什么 MySQL 采用 B+ 树作为索引?
  • MySQL 单表不要超过 2000W 行,靠谱吗?
  • 索引失效有哪些?
  • MySQL 使用 like“%x“,索引一定会失效吗?
  • count(*) 和 count(1) 有什么区别?哪个性能最好?
  • 事务篇 :point_down:
  • 事务隔离级别是怎么实现的?
  • MySQL 可重复读隔离级别,完全解决幻读了吗?
  • 锁篇 :point_down:
  • MySQL 有哪些锁?
  • MySQL 是怎么加锁的?
  • update 没加索引会锁全表
  • MySQL 死锁了,怎么办?
  • 字节面试:加了什么锁,导致死锁的?
  • 日志篇 :point_down:
  • MySQL 日志:undo log、redo log、binlog 有什么用?
  • 内存篇 :point_down:
  • 揭开 Buffer Pool 的面纱

《图解 Redis》

  • 面试篇 :point_down:
  • Redis 常见面试题
  • 数据类型篇 :point_down:
  • Redis 数据类型和应用场景
  • 图解 Redis 数据结构
  • 持久化篇 :point_down:
  • AOF 持久化是怎么实现的?
  • RDB 快照是怎么实现的?
  • 功能篇:point_down:
  • Redis 过期删除策略和内存淘汰策略有什么区别?
  • 高可用篇 :point_down:
  • 主从复制是怎么实现的?
  • 为什么要有哨兵?
  • 缓存篇 :point_down:
  • 什么是缓存雪崩、击穿、穿透?
  • 数据库和缓存如何保证一致性?

学习心得

  • 计算机基础学习路线 :计算机基础学习书籍 + 视频推荐,全面且清晰。
  • 互联网校招心得 :小林神仙读者们的校招和学习心得,值得学习。