跳转至

计算机基础导论

本课程是整套 Golang 后端工程师教材的入口。它不急着讲 Go 语法,也不急着写接口,而是先帮学习者建立几个关键问题的答案:

  • 后端工程师到底在负责什么?
  • 一个后端服务是如何运行起来的?
  • 浏览器发出一个请求后,数据经历了哪些系统组件?
  • CPU、内存、磁盘、网络和数据库分别在后端系统中扮演什么角色?
  • 为什么高级工程师不能只会写业务代码?

学习目标

学完本课程后,学习者应该能够:

  1. 说清楚后端工程师的工作边界和责任。
  2. 理解一个 Web 请求从客户端到服务端的完整路径。
  3. 建立对 CPU、内存、磁盘、网络、操作系统、数据库的整体认知。
  4. 理解服务端程序的基本运行模型:启动、监听、处理请求、访问依赖、返回响应。
  5. 初步具备排查问题的意识:慢、卡、失败、超时、资源不足,都不是凭感觉猜。

课程结构

建议按下面顺序学习:

  1. 后端工程师职业认知
  2. 开发环境基础
  3. 计算机系统概览
  4. 一次请求的生命周期
  5. 服务端程序运行模型
  6. 实战任务与检查清单

为什么先学这一章

很多新手一开始会直接进入语法、框架、数据库,但很快会遇到一些看似零散的问题:

  • 为什么接口有时候会超时?
  • 为什么数据库慢查询会拖垮服务?
  • 为什么连接池配置不合理会导致服务卡住?
  • 为什么 Docker 里程序能跑,但访问不到?
  • 为什么线上 CPU 飙高、内存上涨、日志打不出来?

这些问题表面上属于 Go、数据库、网络或运维,底层其实都和计算机基础有关。

本课程的目的不是把操作系统、网络、数据库一次性讲深,而是先建立一张地图。后续学习 Go、Web、数据库、Docker、Kubernetes、分布式和线上排障时,学习者能知道每个知识点在地图上的位置。

学习方式

  • 第一遍只要求建立整体认知,不需要背概念。
  • 每看到一个系统组件,都要问:它解决什么问题?如果它出问题,会有什么现象?
  • 遇到命令行、HTTP、进程、端口、日志这些内容,要动手验证。
  • 本章内容会在后续操作系统、计算机网络、工程化和云原生章节中继续加深。

学习提醒

新手最重要的不是一开始知道所有细节,而是先形成正确的工程直觉:服务不是孤立运行的,它总是在 CPU、内存、磁盘、网络、操作系统、数据库和其他服务共同组成的环境里运行。