🧠 Programming✍️ Khoa📅 19/04/2026☕ 2 phút đọc

Programming Languages: Overview và Roadmap

Section này tập trung vào language engineering ở góc nhìn production: runtime behavior, memory model, concurrency semantics, performance tuning, và trade-offs khi design API/library.

Mục tiêu: học để ship system bền vững, không phải học syntax cho vui.


Cấu trúc section

programming-language/
├── README.md                      ← file này
├── go-advanced.md                 ← Overview: Runtime mental model tổng quan
├── go-scheduler-internals.md     ← Deep dive: G-M-P scheduler chi tiết
├── go-memory-gc.md                ← Memory allocator, GC internals, escape analysis
├── go-concurrency-patterns.md    ← Patterns thực chiến: worker pool, pipeline, errgroup
├── go-performance-profiling.md   ← pprof, tracing, benchmarking, optimization
└── go-interview-deep-dive.md     ← Câu hỏi interview senior + cách trả lời

Go là điểm bắt đầu vì sao?

  • Runtime gồm scheduler + GC + network poller đã được tối ưu cho backend workloads.
  • Tooling đhọc Go chuyên sâu

Đọc theo thứ tự:

  1. Go: Overview và Mental Model — Bức tranh tổng thể runtime (30 phút)
  2. Scheduler Internals: G-M-P Deep Dive — Cách goroutine thực sự chạy (1-2 giờ)
  3. Memory & GC Internals — Allocator, escape analysis, GC tuning (1-2 giờ)
  4. Concurrency Patterns — Patterns production-ready (1 giờ)
  5. Performance & Profiling — Tối ưu dựa trên data (1-2 giờ)
  6. Interview Deep Dive — Câu hỏi + cách trả lời senior (1 giờ)

Hoặc đọc theo nhu cầu:

  • Đang gặp latency spike? → Memory & GC + Performance
  • Design concurrent system? → Concurrency Patterns
  • Chuẩn bị interview? → Interview Deep Dive
  • Muốn hiểu sâu runtime? → Scheduler + Memory

Tiếp theo (sẽ bổ sung)

Roadmap trong section này

  1. Go Advanced Runtime và Concurrency: Go: Chuyên sâu cho production systems
  2. Tiếp theo (sẽ bổ sung): Rust ownership cho system-level safety, JVM internals cho latency-sensitive apps.

Cách đọc để tối ưu

  1. Đọc overview trong file Go để nắm mental model.
  2. Chạy examples benchmark nhỏ và đo bằng go test -bench.
  3. Mapping mỗi concept vào production incident đã gặp (latency spike, memory leak, goroutine leak).

Bối cảnh interview senior

Nhà tuyển dụng senior quan tâm:

  • Bạn có phân biệt được bug do business logic hay do runtime behavior không?
  • Bạn có biết cách sử dụng data để tối ưu (profiles, traces) thay vì đoán mò không?
  • Bạn có biết trade-off của từng pattern concurrency không?