Skip to content

Commit 8d5ee3e

Browse files
committed
docs: deepen operating system interview coverage
1 parent 075ebe9 commit 8d5ee3e

2 files changed

Lines changed: 22 additions & 8 deletions

File tree

05_interview/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ eyebrow: Module 06
5151
| [程序员八股文50题](fundamentals/general-backend/) | 通用技术岗 | 数据结构+操作系统+网络+数据库+系统设计,50道高频题全解析 |
5252
| [2026年3–7月高频后端八股统计](fundamentals/backend-frequency-2026-march-july/) | 高频统计 | 32组真实面经:规范题频次、跨月趋势、复习优先级与算法附录 |
5353
| [2026年春季后端面经八股](fundamentals/recent-2026-spring/) | 3–5月真题 | 45道题:Java、C++、JVM、数据库、缓存、网络与分布式 |
54-
| [2026年2–8月后端面经八股](fundamentals/recent-2026-summer/) | 2–8月真题 | 227道题:Java、C++、Go、操作系统、网络、数据库、分布式与AI Infra |
54+
| [2026年2–8月后端面经八股](fundamentals/recent-2026-summer/) | 2–8月真题 | 228道题:Java、C++、Go、操作系统、网络、数据库、分布式与AI Infra |
5555

5656
## 备考建议
5757

_includes/interview-seasons/2026/summer.md

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -394,11 +394,13 @@ epoll 适合大量连接但活跃连接少的场景(典型:Web Server)。
394394

395395
---
396396

397-
### 33. 用户态和内核态有什么区别?什么时候会切换?
397+
### 33. 为什么操作系统要区分用户态和内核态?什么时候会切换?
398398

399-
> 来源:虾皮 Data Infra 大数据平台研发一面,6 月 7 日
399+
> 来源:虾皮 Data Infra 大数据平台研发一面,6 月 7 日;字节 AML / 火山方舟 AI Infra 一面,8 月 26 日
400+
401+
区分两种权限级别是为了最小权限和故障隔离:普通应用不能任意改页表、控制设备或读写内核地址,否则一个 Bug 就能破坏全机;内核集中管理 CPU、内存、文件和网络,通过稳定的系统调用接口提供受控服务。硬件特权级、页表权限和内核入口共同执行边界,单靠语言级检查不够。
400402

401-
用户态权限受限,不能直接访问硬件和内核地址;内核态可以执行特权指令并管理进程、内存、文件和网络。系统调用、异常和硬件中断会触发切换,例如 `read`缺页异常或网卡中断。切换需要保存/恢复执行上下文并经过安全检查,所以高频小系统调用会产生可观测开销,但不要把它和进程切换混为一谈
403+
系统调用、异常和硬件中断会进入内核态,例如 `read`缺页异常、时钟或网卡中断;处理完成后可返回用户态。进入内核态需要切换特权级和栈、保存必要现场并执行安全检查,因此高频小系统调用会有可观测开销。模式切换不等于进程/线程上下文切换:同一线程执行系统调用可以只发生用户态/内核态切换,也可能因阻塞进一步触发调度
402404

403405
---
404406

@@ -2180,11 +2182,13 @@ Gateway 收到客户端断连或取消后,应沿调用链取消 HTTP/gRPC 请
21802182

21812183
---
21822184

2183-
### 204. 虚拟内存如何实现进程隔离?缺页、页面置换、Swap 与 OOM 如何协作?
2185+
### 204. 操作系统如何管理内存?为什么要把虚拟内存与物理内存分开?
2186+
2187+
> 来源:[蔚来自动驾驶 Infra 实习面经](https://www.nowcoder.com/feed/main/detail/56a04cec4404407198dc9627a7fa887c)[荣耀 AI Infra 一面](https://www.nowcoder.com/feed/main/detail/60ab2e3a45074b7391199acb9b5c6ca3)[字节 AI Infra 实习面经](https://www.nowcoder.com/feed/main/detail/2163c739242f4f8d82b35c906f0a69a9)[AI Infra 应届春招面经](https://www.nowcoder.com/feed/main/detail/9ec1d6e590a04b16b9ea40ade8d180bd)、字节 AML / 火山方舟 AI Infra 一面
21842188
2185-
> 来源:[蔚来自动驾驶 Infra 实习面经](https://www.nowcoder.com/feed/main/detail/56a04cec4404407198dc9627a7fa887c)[荣耀 AI Infra 一面](https://www.nowcoder.com/feed/main/detail/60ab2e3a45074b7391199acb9b5c6ca3)[字节 AI Infra 实习面经](https://www.nowcoder.com/feed/main/detail/2163c739242f4f8d82b35c906f0a69a9)[AI Infra 应届春招面经](https://www.nowcoder.com/feed/main/detail/9ec1d6e590a04b16b9ea40ade8d180bd)
2189+
操作系统同时管理物理页分配、每个进程的虚拟地址空间与页表、匿名页和文件映射、页缓存、共享内存、回收/Swap、NUMA 放置以及 cgroup 限额。分配路径先满足虚拟地址和权限,再在访问或预取时建立物理页映射;内核根据工作集和内存压力回收页面,而不是让应用直接持有固定物理地址。
21862190

2187-
每个进程看到独立虚拟地址空间,页表把虚拟页映射到物理页并记录读写、执行和用户/内核权限,TLB 缓存近期地址转换。两个进程可以把相同虚拟地址映射到不同物理页,也可以通过共享内存映射同一物理页;隔离来自页表和权限检查,不是“每个进程独占一块物理内存”。Fork 后常以写时复制共享页面,只有写入时才复制。
2191+
虚拟地址与物理地址分开带来四个核心能力:进程隔离和权限保护;程序可在统一地址布局运行而无需知道物理位置;按需分页、页面置换和 overcommit 提高物理内存利用率;多个进程可共享只读代码、页缓存或显式共享内存。页表把虚拟页映射到物理页并记录读写、执行和用户/内核权限,TLB 缓存近期转换;Fork 后常以写时复制共享页面,只有写入时才复制。
21882192

21892193
访问没有有效映射或页面尚未驻留时会触发缺页异常:匿名零页、文件页可按需建立映射,已换出的匿名页或未缓存的文件页可能需要磁盘 I/O。内存压力下内核按近似 LRU 等策略回收干净文件页、回写脏页或把匿名页换到 Swap;若可回收页不足、Swap 不可用或受 cgroup/进程限制,分配可能失败并触发 OOM 处理。排障要结合缺页率、工作集、换入换出、页缓存、RSS、cgroup 限额和 OOM 日志,而不是只看 free memory。
21902194

@@ -2420,6 +2424,16 @@ SQL 注入发生在应用把不可信输入拼成 SQL 语义的边界,因此
24202424

24212425
---
24222426

2427+
### 228. TCP 已建立连接后,一端突然掉电或断网,另一端的连接状态会怎样变化?
2428+
2429+
> 来源:字节 AML / 火山方舟 AI Infra 一面,2026 年 8 月 26 日
2430+
2431+
掉电一端来不及发送 FIN 或 RST,另一端内核不会凭空知道对端消失,连接可能继续保持 `ESTABLISHED`。若应用继续发送数据,TCP 会重传并按系统重试策略最终超时;若连接长期完全空闲且未启用探测,它可能保持很久。对端重启后旧连接状态已经不存在,收到旧连接报文时通常会返回 RST。
2432+
2433+
生产系统不能依赖默认 TCP 超时及时发现故障。应设置应用请求 Deadline、读写超时和业务心跳,必要时启用并调优 TCP Keepalive;连接池发现超时或 RST 后移除连接并按幂等语义重连。Keepalive 默认周期往往很长,而且只能证明网络路径和对端协议栈存活,不能证明应用线程健康,因此应用层健康语义仍不可少。
2434+
2435+
---
2436+
24232437
## 算法与手撕题单
24242438

24252439
以下题目来自同一时间窗口,适合单独放入算法训练计划:
@@ -2468,6 +2482,6 @@ SQL 注入发生在应用把不可信输入拼成 SQL 语义的边界,因此
24682482
| 数组中连续相同数字的最大出现次数 | [字节 AI Infra 实习面经](https://www.nowcoder.com/feed/main/detail/2163c739242f4f8d82b35c906f0a69a9) |
24692483
| 10 点环上走 N 步回到原点的方案数 | [字节 AI Infra 后端面经](https://www.nowcoder.com/feed/main/detail/45814e935b894c4fb13d5a72c81e23a6) |
24702484
| 0-1 背包与完全背包 | [蔚来 AI Infra 面经](https://www.nowcoder.com/feed/main/detail/738d29de77ef4675bbac0a7d18ed1371) |
2471-
| 两数之和(LC 1) | [沐曦 AI Infra 一面](https://www.nowcoder.com/feed/main/detail/5f3629b12be346de8dbc954a75d0990f) |
2485+
| 两数之和(LC 1) | [沐曦 AI Infra 一面](https://www.nowcoder.com/feed/main/detail/5f3629b12be346de8dbc954a75d0990f);字节 AML / 火山方舟 AI Infra 一面(数组可重复、元素不可复用、复杂度与原地排序追问) |
24722486
| 矩阵第 K 小元素(原帖有序约束未完整记录) | [腾讯 CDG AI Infra 框架侧面经](https://www.nowcoder.com/feed/main/detail/6bbfaca62dc64d45851f3ea6c48ff168) |
24732487
| 爬楼梯(递归、记忆化与动态规划,LC 70) | 字节火山引擎 Managed Agent 一面,2026 年 8 月 13 日 |

0 commit comments

Comments
 (0)