explaingit

xiaolincoder/cs-base

17,860Audience · developerComplexity · 1/5Setup · easy

TLDR

A large illustrated Chinese-language reference that explains computer networks, operating systems, computer organisation, and databases in plain language, aimed at making CS fundamentals approachable for interviews and self-study.

Mindmap

mindmap
  root((repo))
    Computer networks
      TCP and UDP
      HTTP versions
      HTTPS handshake
    Operating systems
      Virtual memory
      Process scheduling
      epoll and I/O
    Databases
      MySQL indexes
      B-plus trees
      Row storage
    Audience
      Interview prep
      Self-study
      Chinese language
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Study TCP handshakes, retransmission, and congestion control before a backend systems interview using visual, plain-language articles.

USE CASE 2

Refresh how virtual memory, process scheduling, and epoll work in Linux without reading a dense textbook.

USE CASE 3

Understand MySQL indexing and B-plus tree internals through illustrated short articles written specifically for interview preparation.

Getting it running

Difficulty · easy Time to first run · 5min

This is a documentation site, not runnable software, visit xiaolincoding.com to read the articles.

In plain English

CS-Base is a Chinese-language study site that explains foundational topics of computer science, computer networks, operating systems, computer organization, and databases, using illustrated, plain-language articles. The author, who writes under the handle Xiaolin Coding, originally published these on a WeChat public account, then collected them on a dedicated website. The pitch is roughly: about a thousand diagrams and half a million words aimed at making dry CS basics approachable, so interview-style fundamentals stop feeling like impenetrable jargon. It is not software you run, the repository is essentially the source and an index of links into the published book at xiaolincoding.com. Each chapter is broken into short, focused articles. The networking section walks through the TCP/IP model, what happens when you type a URL into a browser, HTTP versions one through three, HTTPS handshakes, TCP's three-way handshake and four-way teardown, retransmission, sliding windows, congestion control, and many TCP edge cases drawn from real interview questions. The operating systems section covers CPUs, caches, memory and virtual memory, processes and threads, scheduling, file systems, devices, the high-performance networking patterns Reactor and Proactor, and I/O multiplexing with select, poll, and epoll. There is also a section on MySQL covering indexes, row storage, and B+ trees. People reach for it when preparing for backend or systems interviews, refreshing fundamentals, or trying to understand why something low-level behaves the way it does, in a more visual style than a textbook. Topics tagged on the repo include C, C++, Go, Java, Python, Linux, network, and TCP.

Copy-paste prompts

Prompt 1
Summarise the CS-Base explanation of TCP three-way handshake and four-way teardown in plain English, then give me five interview questions I should be able to answer.
Prompt 2
Based on the CS-Base operating systems section, explain how epoll differs from select and poll, and when I should use each in a high-performance server.
Prompt 3
Walk me through the CS-Base coverage of virtual memory: what it is, why it exists, and how the OS maps virtual addresses to physical RAM.
Prompt 4
I am preparing for a backend interview. Using the CS-Base database section, explain B-plus tree indexes and why MySQL uses them instead of hash indexes.
Open on GitHub → Explain another repo

← xiaolincoder on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.