跳转到内容

07 · 面试晨读速查

六章的金句压成一页。面试当天早上过一遍,卡壳的句子点回原章。这页不替代正文,也没有自测。

题 一句话 章
进程 vs 线程 进程是资源单位,线程是调度单位。进程切换换页表,TLB 大面积失效;线程共享地址空间,出事带走全进程 01
协程 用户态协作式切换,纳秒级、上不了多核;阻塞系统调用会卡整条线程,所以必须配非阻塞 IO 01
虚拟内存 每进程一套假地址,页表翻译。好处:隔离、超售、权限、物理页可以不连续 01
缺页 有效位为 0。合法则调页重执行;非法则 SIGSEGV。它是异常,不是中断 01
malloc 用户态分配器先消化;小块 brk,大约 128KB 以上 mmap。拿到的是虚拟地址,第一次写才占物理页 01
地址空间 高处内核,往下是栈、mmap、堆,最低是代码和数据。ASLR 只挪起点 01
死锁 互斥、占有且等待、不可抢占、循环等待,四个同时成立。预防靠统一加锁顺序 01
futex mutex 先用户态原子试锁,失败才进内核睡觉。无竞争几乎免费 01
epoll 注册一次,回调挂就绪链表,wait 只返回有事的 fd。LT 是还有数据就通知,ET 必须一次读到 EWOULDBLOCK 02
Reactor / Proactor Reactor 通知就绪,你自己 recv。Proactor(IOCP、io_uring)通知完成,内核已经搬完 02
零拷贝 CPU 不拷。sendfile 让内核内部转发,配 SG-DMA 后数据全程 DMA 02
题 一句话 章
三次握手 防历史 SYN,并确认双方都能收发。两次确认不了“服务端的包客户端收得到” 03
四次挥手 被动方可能还有数据,ACK 和 FIN 拆开。主动关闭方进 TIME_WAIT,等 2MSL 03
流量 vs 拥塞 rwnd 保护接收方,cwnd 保护网络。实际窗口取较小者。慢启动每 RTT 翻倍,到阈值后每 RTT +1 03
为什么用 UDP TCP 的有序可靠造成队头阻塞,旧位置没有补发价值;拥塞控制遇丢包还降速。状态走最新,事件自己确认 03
NAT 打洞 双方先连公网协调服,交换公网地址,同时发包。对称 NAT 失败就走 TURN 中继。映射要心跳保活 03
可靠 UDP sequence + ack 位图。位置只留最新,技能按位图重传,包自己控制在 MTU 内 03
帧同步 / 状态同步 状态同步传结果,服务器权威。帧同步传输入,各端跑同一份确定性逻辑 03
粘包 TCP 是字节流。游戏用长度前缀:先读头,再按长度读体。UDP 没有粘包,但有 MTU 03
TLS 非对称只用来交换密钥并验证书,大数据走对称。证书链验到系统内置的根 04
URL 到页面 DNS → TCP → TLS → HTTP → 可能命中 CDN → 解析并拉子资源(强缓存 / 304) 04
登录 vs 战斗 登录、热更走 HTTPS,要可靠;战斗走 UDP,要低延迟。两套连接,不要混 04
题 一句话 章
管线 CPU 决定画什么,顶点着色器决定顶点在哪,片元着色器决定什么颜色,输出合并决定谁留下来 05
MVP 局部 → 世界 → 相机 → 裁剪 → ÷w 得 NDC → 视口映射到屏幕。透视把深度编码进 w 05
法线 非均匀缩放下不能直接乘 MV,要用逆转置,否则不再垂直 05
mipmap 远处一个像素盖住很多 texel 会闪。金字塔按屏幕导数选层,显存大约 +33% 05
纹理压缩 BC / ASTC 按 4×4 块随机解压。PNG 必须整张解开,显存放不下 05
剔除 背面是三角形,视锥和遮挡是物体,Early-Z 是像素。先便宜后贵,遮挡必须保守 05
点在三角形内 重心坐标三个权重是面积比,都在 0 到 1 就在里面。透视下先除 w 再插值 05
四元数 4 个数存旋转,没有万向节锁,slerp 稳定。欧拉角只留给编辑器 05
透明 不透明先画、开深度写;透明后画、关深度写、由远到近。混合不能交换 05
PBR 能量守恒的微表面 BRDF。金属度决定颜色来自反射还是漫反射,粗糙度决定高光散不散 06
菲涅尔 掠射角反射变强。Schlick:F0 往 1 靠。金属的 F0 带颜色 06
IBL 离线做成辐照度图、按粗糙度的预滤波 mip、一张 BRDF LUT。运行时只采样 06
法线贴图 存切线空间,z 朝外,所以偏蓝。同一张能贴到任意朝向 06
Shadow Map 从灯的眼睛拍一张最近深度,渲染时对表。bias 小了是 acne,大了是脚底悬空 06
前向 / 延迟 灯多且不透明为主用延迟;透明多、移动端、要 MSAA 用前向+。手机 GPU 是 TBDR,吃不下全屏 G-Buffer 06
AA MSAA 在几何阶段多采样,FXAA 在图像上补,TAA 把采样摊到时间轴,要用运动矢量管重影 06
  1. 操作系统:共享就要同步,同步错了就是死锁;无竞争的锁不要进内核。
  2. 网络:实时数据要最新,不要队头阻塞;可靠只加在值得重传的事件上;NAT 后面要先有人帮你们交换地址。
  3. 图形学:先说管线四段,再等追问落到剔除、PBR 或阴影。不要一开始背公式。