Back to the map

Orientation · Lesson 1 of 2

How this track works

What Core CS covers and why: the machine, the operating system, the network stack and the language, taught as the layer under system design and low-level design. How the stages connect, and how to study them.

IntroNice-to-knowJunior 7 min Updated Nov 2026

Why it matters

Every system design answer rests on facts from a layer below it. "Cache it in memory" assumes you know how much faster memory is than disk. "Use a thread pool" assumes you know what a thread costs. "Keep the connection open" assumes you know what TCP does at the start of one. When an interviewer asks "why is that faster?" or "what happens under load?", the answer is almost always in operating systems, networking or the language runtime. This track teaches exactly those facts, in the depth an engineer who ships software needs, and no further.

The idea

Core CS is a stack. Your code runs inside a language runtime, the runtime asks the operating system for everything (CPU time, memory, files, sockets), the operating system drives the network stack and the hardware. The four stages of this track walk that stack from the bottom up, so each stage explains the one above it.

Your code and its objectsObject-oriented programmingLanguage runtimememory, types, exceptionsOperating systemprocesses, scheduling, memory, filesNetwork stackIP, TCP, DNS, HTTP, TLSThe machineCPU, memory hierarchy, I/Ostage 4stage 2stage 3stage 1
The four stages map to layers of the stack. Each one explains behaviour you see in the layer above it.

What each stage gives you

StageCoversExplains in system design and LLD
FoundationsCPU, memory hierarchy, data representation, I/OWhy caches work, why latency numbers are what they are, why IDs overflow and money is never a float
Operating systemsProcesses, threads, scheduling, synchronization, virtual memory, files, containersThread pools, connection limits, deadlocks, out-of-memory kills, fsync cost, what a container really isolates
Computer networksLayers, IP and routing, TCP and UDP, DNS, HTTP versions, TLS, debuggingConnection reuse, head-of-line blocking, timeouts, load balancer layers, why the first request is slow
Object-oriented programmingThe four pillars, types and memory, equality, exceptions, collectionsEvery class diagram in the Low-Level Design track, and the bugs that hide in equals and hashCode

How the three tracks fit together

System Design is about how services fit together. Low-Level Design is about the code inside one service. Core CS is about what that code runs on. You can take them in any order, and lessons link across tracks where one explains another: the memory hierarchy lesson here underpins the caching module in System Design, and the OOP stage here is the vocabulary the Low-Level Design track assumes.

How to study it

  1. 1

    Read for the mechanism, not the definition

    Every lesson centres on one diagram of how the thing works. If you can redraw it from memory, you understand it.
  2. 2

    Attach a number to each idea

    A context switch costs microseconds; a disk seek costs milliseconds; a cross-continent round trip costs about a hundred milliseconds. Numbers are what make the reasoning concrete.
  3. 3

    Answer the quiz before reading the explanation

    Each quiz targets the most common wrong intuition about the topic. Getting it wrong first is useful.
  4. 4

    Finish each module with its drill

    Drills are scenarios: something is slow or broken, explain why from first principles. Say the answer out loud before revealing the model one.

Trade-offs

This track trades completeness for relevance. It does not teach you to write a kernel, a TCP stack or a compiler; it teaches you the behaviour of those things that shows up in production and interviews. If you need the full theory, operating systems and networking textbooks remain the reference. If you need to explain why a service fell over, this track is the shorter path.

In an interview

Core CS questions rarely arrive labelled. They show up as follow-ups: "why would a thread pool help here?", "what limits connections per server?", "why is the p99 worse right after a deploy?". The habit to build is answering one layer down: name the mechanism (context switches, file descriptors, JIT warm-up), give its rough cost, then return to the design.

Check yourself

An interviewer asks why moving a hot lookup table from a database into the service's own memory made requests ten times faster. Which layer of this track holds the answer?

How this track works · Backplane