跳转到内容

00 · 使用指南:怎么学这套资料

定位:这是《C++ 实习面试备战》的姊妹项目——C++ 之外,游戏客户端/引擎岗一面还会从操作系统、计算机网络、图形学抽题。本项目只讲面经里反复出现的高频考点,不追求无死角覆盖;学法和 C++ 库完全一致。 学完标准:三门各能撑起 10 分钟的连环追问;图形学两章对引擎向岗位是必选项。主线六章之外,连环追问已经写进正文:死锁与 futex、Reactor/Proactor、NAT 打洞与可靠 UDP、三种剔除、菲涅尔与 IBL。面试当天早上过一遍晨读速查。

章 主题 优先级 说明
01 进程线程与内存 操作系统 ★★★ 虚拟内存、地址空间、死锁、futex、缓存行
02 IO 多路复用与零拷贝 操作系统 ★★☆(服务器向 ★★★) epoll 三兄弟 + 零拷贝 + Reactor/Proactor
03 TCP 与 UDP 计算机网络 ★★★ UDP、NAT、可靠 UDP、帧同步/状态同步
04 HTTP/HTTPS 与 Socket 计算机网络 ★★☆ TLS + 从 URL 到页面 + socket 编程
05 渲染管线与空间变换 图形学 ★★★(引擎向必考) 管线、剔除、重心坐标、四元数
06 光照阴影与后处理 图形学 ★★★(引擎向)/ ★★☆(客户端向) PBR / 菲涅尔 / IBL / 阴影 / TAA
晨读速查 工具 面试当天 六章金句压成一页,不替代正文

建议顺序:01→02→03→04(OS+网络一组)和 05→06(图形学一组),两组可互换;总预算 6~8 天。引擎方向优先保证 05/06。

二、每章的学习闭环(和 C++ 库一样)

Section titled “二、每章的学习闭环(和 C++ 库一样)”
  1. 精读正文:对比表 + 面试金句 + 代码骨架,别跳「面试金句」——那是答案的骨架。
  2. 章末自测(每章 10 题):合上书在答题区写,写完自动保存(本地服务运行时同步到 notes/我的作答记录.md)。
  3. 自评打分(❌/🟡/✅),然后找私教说一句「处理 XX 章精批」——逐题判定 + 标准答案 + 采分点 + 记忆钩子 + 追问预演。
  4. 卡住就写进右下角「疑问收件箱」:落盘到 notes/疑问收件箱.md,私教统一解答。
  5. 每天 10 分钟:刷题卡片 随机抽 Q&A。面试当天早上先过 晨读速查。

正文里提到的 两位数章节编号(如「02 章 大小端」「09 章线程同步」「11 章分配器」「12/13 章数学与管线」)指的都是 《C++ 实习面试备战》库的章节(那边端口 8480)。这些引用是刻意的:三门课的很多考点和 C++ 八股是同一张图的两面——

本项目 C++ 库对应章 呼应点
01 虚拟内存 / malloc 02 内存模型 / 11 分配器 虚拟地址↔内存分区;malloc↔引擎自研分配器
01 线程与协程 09 并发 线程同步原语 ↔ 内核 futex 视角
02 epoll 09 线程池 网络线程 ↔ 任务系统
03 UDP 协议设计 02 内存对齐→字节序 / 21(若并入) 长度前缀、字节序转换
05/06 管线 12 数学 / 13 渲染概念 MVP↔变换矩阵;管线↔DrawCall

交叉着复习,两边互相加固。

  • notes/ — 内容真源。00 使用指南,01 到 06 六章,07 晨读速查,外加作答记录和疑问收件箱。
  • web/ — Astro + Starlight 站点。构建产物在 web/dist。
  • tools/ — build_site.py 把笔记迁进站点。local-server.bat 开 8481,并同步作答和收件箱。

改了内容后:python tools/build_site.py && cd web && npm run build(或直接让私教跑)。

  1. 打开 01 进程线程与内存 开始读;
  2. 读完做章末自测 → 说「处理 01 章精批」;
  3. C++ 库那边的主线(12/13 游戏专项)继续并行,互不干扰。