# 1. PTHREAD_MUTEX_ROBUST 在锁持有进程死亡后 next-owner 恢复的工程价值? A EOWNERDEAD 表示锁可无恢复直接使用 B 普通 mutex 也支持崩溃后所有权转移 C robust mutex 不需要内核支持 D robust mutex 通过内核 robust_list 在持锁进程死亡时把锁所有权转移给下一个等待者并返回 EOWNERDEAD,调用 consistent 恢复后才可正常使用,防止进程级死锁 ✓ 正确答案
# 2. robust mutex 在 Linux kernel 的 robust_list futex 工程价值? A robust_list 只支持单进程内 B robust_list 由用户态信号处理器清理 C 内核不参与 robust mutex 处理 D robust_list futex 让内核在进程退出时遍历其登记的 robust mutex、唤醒等待者并标记 owner died,把崩溃安全的锁所有权转移落到内核退出路径 ✓ 正确答案
# 3. PREEMPT_RT 把大多数内核 spinlock 转为可抢占的 rt_mutex(睡眠锁),这在降低最坏延迟的同时为何会牺牲一部分吞吐? A rt_mutex 无需优先级继承 B rt_mutex 比 spinlock 吞吐更高 C PREEMPT_RT 把 spinlock 换成可抢占的 rt_mutex,降低最坏延迟但引入睡眠/唤醒切换开销、优先级继承维护与临界区不确定,牺牲部分吞吐 ✓ 正确答案 D 睡眠锁可在任意中断上下文使用
# 4. io_uring restricted mode(IORING_SETUP_R_DISABLED)限制 IO 类型的工程价值? A restricted mode 只能注册一次且可随时修改 B restricted mode 放开所有 io_uring 操作 C restricted mode 以禁用状态创建 io_uring 并注册允许的 opcode 白名单,其余操作被拒,收窄能力面、配合 seccomp 构成纵深防御 ✓ 正确答案 D restricted mode 与安全沙箱无关
# 5. PSI(Pressure Stall Information,/proc/pressure/cpu|memory|io)some/full avg10/avg60/avg300 字段? A PSI 只有 CPU 指标 B PSI 通过 some/full 区分"部分/全部任务停滞",avg10/avg60/avg300 为不同时长的滑动平均比例,用于量化 CPU/内存/IO 资源压力 ✓ 正确答案 C some 表示资源完全饱和 D avg300 反映瞬时压力
# 6. Soft-iWARP(siw)作为 in-kernel TCP-based RDMA 的工程价值? A siw 需要专用 RNIC 硬件 B siw 用内核 TCP 栈软件模拟 iWARP 协议,让无 RNIC 的环境可开发测试 RDMA 应用,但性能低于硬件 RDMA ✓ 正确答案 C siw 达到硬件 RDMA 的性能 D siw 不提供 verbs API
# 7. netdev_budget_usecs 在 softirq 处理时间预算的工程价值? A softirq 无时间预算限制 B netdev_budget_usecs 只限制包数 C netdev_budget_usecs 限制网络 softirq 的处理时间(微秒),超时退出让出 CPU,防止网络处理垄断 CPU、保证公平与低延迟 ✓ 正确答案 D 增大时间预算一定降低延迟
# 8. kTLS(kernel TLS)将 TLS 卸载到内核(OpenSSL SPL_GCM_tls)+ sendfile/recvmsg 在 TLS 的工程价值? A kTLS 仍需用户态逐段加解密 B kTLS 把 TLS 记录加解密下沉到内核,配合 sendfile/recvmsg 实现零拷贝加密发送与接收,减少用户态-内核拷贝与系统调用 ✓ 正确答案 C sendfile 无法与 kTLS 结合 D kTLS 增加系统调用次数
# 9. KASAN modes(generic、tag-based、SW-TAGS)的工程取舍? A 硬件 MTE 不需要硬件支持 B 三种模式开销相同 C tag-based 比 generic 检测更精确 D generic 模式用影子内存+红区检测最全但开销大,tag-based 用地址标签降低开销但检测粒度下降,硬件 MTE 最轻量但需 ARMv8.5+ 硬件 ✓ 正确答案
# 10. Landlock(Linux 5.13+)LSM 沙箱的文件系统访问控制? A Landlock 允许无特权进程通过规则集限制自身及子孙的文件系统访问,restrict_self 单向收紧,与 seccomp 互补构成沙箱纵深防御 ✓ 正确答案 B Landlock 需要 root 权限 C Landlock 规则集可随时撤销 D Landlock 只能限制系统调用
# 11. POSIX 1003.1-2017 的 XBD(Base Definitions)、XSH(System Headers)、XCU(Shell & Utilities)三大卷结构? A XCU 定义系统调用函数 B XSH 只定义 shell 命令 C POSIX.1-2017 分 XBD(基础定义)、XSH(系统接口与头文件)、XCU(shell 与工具)三卷,分别规范公共概念、C 接口与命令行工具 ✓ 正确答案 D 三卷内容互相重叠
# 12. netdev budget(netdev_max_backlog)在 NAPI poll 的 packet 处理上限? A netdev_max_backlog 限制单次 poll 包数 B netdev budget 是接收队列长度 C netdev budget 限制单次 NAPI poll 处理的包数防止 CPU 垄断,netdev_max_backlog 限制接收队列深度、满则丢包,二者控制不同层面 ✓ 正确答案 D 两个参数作用完全相同
# 13. Landlock 在容器与 sandbox(Chromium、V8 sandbox)的工程价值? A Landlock 以无特权方式限制进程文件系统路径,容器与 Chromium/V8 沙箱用它收窄能力面,与 seccomp 互补构成纵深防御 ✓ 正确答案 B Landlock 需要 root 才能使用 C Landlock 不适用于浏览器沙箱 D Landlock 只限制系统调用
# 14. seccomp notify(SECCOMP_RET_NOTIFY)在 supervisor sandbox 通过 pollable fd 接管 syscall 决策的工程价值? A NOTIFY 由内核静态决定放行 B SECCOMP_RET_NOTIFY 把触发 syscall 经 pollable fd 通知 supervisor,supervisor 可查看参数并动态决定允许/拒绝,实现比静态 BPF 更细的审核 ✓ 正确答案 C notify fd 不可被 poll D supervisor 无法查看 syscall 参数
# 15. PREEMPT_RT(Linux 6.x)的 CONFIG_PREEMPT_RT 在 spinlock→rt_mutex 转换的工程价值? A 实时系统不关心内核可抢占性 B CONFIG_PREEMPT_RT 不改变内核锁行为 C rt_mutex 不支持优先级继承 D CONFIG_PREEMPT_RT 把内核 spinlock 转为可抢占的 rt_mutex 并支持优先级继承,使内核路径可抢占、降低最坏延迟,满足实时系统要求 ✓ 正确答案
# 16. PREEMPT_RT 在 Linux 6.x 完全 merged(替代 PREEMPT_LAZY)的状态? A PREEMPT_RT 取代了 PREEMPT_LAZY B PREEMPT_RT 仍是独立补丁集 C Linux 6.x 中 PREEMPT_RT 已完全合入主线、取代 PREEMPT_LAZY,主线内核开箱即可构建实时系统,无需外部补丁 ✓ 正确答案 D 主线内核不支持实时抢占
# 17. BPF LSM(Linux 6.x)将 LSM hook 暴露给 BPF 程序实现 custom security policy 的工程价值? A BPF LSM 需要编写内核模块 B BPF LSM 把 LSM hook 暴露给 BPF 程序,使安全策略可编程、动态加载、无需内核模块,可与 SELinux/AppArmor 协同叠加 ✓ 正确答案 C BPF LSM 策略不可动态修改 D BPF LSM 与 SELinux 互斥
# 18. cgroup v2 的 RDMA subsystem(rdma.max)在 RDMA 资源隔离的工程价值? A RDMA 资源无需限制 B rdma.max 限制 CPU 使用 C cgroup v2 不支持 RDMA 隔离 D cgroup v2 RDMA 子系统通过 rdma.max 限制每组 RDMA 队列与内存对象数量,实现多租户隔离与资源预算,防止超用 ✓ 正确答案
# 19. KMSAN 在 KMSAN_ORIGIN_MASK tracking 的工程价值? A KMSAN 检测未初始化内存使用,KMSAN_ORIGIN_MASK 记录未初始化数据的来源堆栈,使报告能追溯到污染根因而非只报使用点 ✓ 正确答案 B KMSAN 只报使用点不追踪来源 C KMSAN 检测越界访问 D KMSAN_ORIGIN_MASK 与来源无关
# 20. Landlock ruleset 的 hierarchical flag in inheritance 的工程价值? A Landlock 规则集应用后沿进程树继承且不可撤销,子进程继承父进程限制,防止通过 fork/exec 逃逸沙箱,构成层级一致约束 ✓ 正确答案 B 子进程可解除父进程的 Landlock 限制 C Landlock 规则只作用于当前进程 D 规则集可随时放宽
# 21. userfaultfd 在 QEMU、PostgreSQL、gc ordering pause 的工程应用? A userfaultfd 让用户态接管缺页处理,QEMU 用它实现 postcopy 按需拉取迁移,PostgreSQL/GC 用它实现用户态可控的内存管理与访问暂停 ✓ 正确答案 B userfaultfd 由内核自动处理缺页 C userfaultfd 只能用于文件映射 D userfaultfd 与用户态无关
# 22. IORING_SETUP_IOPOLL 让用户态轮询完成而非等待 IRQ,它在降低 I/O 延迟的同时为何增加 CPU 占用与功耗? A 轮询不增加功耗 B IOPOLL 比中断驱动更省 CPU C IOPOLL 依赖设备中断通知 D IOPOLL 让用户态持续轮询完成队列,消除中断与唤醒延迟而降低 I/O 延迟,但忙轮询占用 CPU、增加功耗,适合低延迟专用核场景 ✓ 正确答案
# 23. POSIX 1003.1-2017 在 realtime、threads、advanced realtime extensions、corrections 的版本演进? A POSIX.1-2017 整合了 realtime、threads、advanced realtime extensions 并累积 corrections,是当前综合权威版本 ✓ 正确答案 B 各扩展卷至今仍是独立标准 C 1003.1-2017 不含线程接口 D corrections 只修文档拼写
# 24. POSIX 1003.1-2017 vs IEEE Std 1003.1-2017 的等同? A POSIX 1003.1-2017 与 IEEE Std 1003.1-2017 是同一份标准的不同发布组织编号,技术内容等同 ✓ 正确答案 B 两者是不同标准 C 只有 IEEE 发布该标准 D 两者内容完全不同
# 25. PREEMPT_RT 在 audio、低延迟交易、工业控制的延迟保证工程价值? A 实时场景不需要确定性延迟 B PREEMPT_RT 只适合高吞吐场景 C PREEMPT_RT 提供确定性、有界的最坏延迟,满足 audio 防卡顿、低延迟交易微秒响应与工业控制周期有界响应的实时要求 ✓ 正确答案 D PREEMPT_RT 不保证优先级继承
# 26. rt_mutex 的优先级继承如何缓解优先级反转? A 优先级反转无法缓解 B 优先级继承能根除所有死锁 C 持锁任务优先级不会提升 D rt_mutex 的优先级继承把持锁任务提升到阻塞它的最高优先级,消除中优先级抢占造成的无限期反转,缩短高优先级任务的阻塞时间 ✓ 正确答案
# 27. BPF LSM 与 crane、Kubernetes 在 合规性 上的取舍与适用场景? A 两者不可同时使用 B BPF LSM 是声明式策略 C K8s 安全策略精确到内核 hook D BPF LSM 提供可编程细粒度内核策略但审计弱,K8s 提供声明式可审计的平台级策略但粒度粗,前者适合应用加固、后者适合平台治理,可叠加 ✓ 正确答案
# 28. seccomp 与 io_uring sandbox 协同限制 opcode 的工程价值? A 两层防御不必要 B seccomp 就能限制 io_uring 内部 opcode C restricted mode 限制系统调用 D seccomp 在系统调用层过滤 io_uring 使用,restricted mode 在 opcode 层限制操作类型,两层协同收窄能力面、构成纵深防御 ✓ 正确答案
# 29. libcap 的 CAP_IO_URING 实现 restricted mode 兼容性? A libcap 不能管理 CAP_IO_URING B 所有进程都需 CAP_IO_URING 才能用 io_uring C restricted mode 与能力无关 D 无 CAP_IO_URING 默认创建受限 io_uring,有该能力才可执行完整/特权操作;libcap 管理该能力,实现默认受限、按需授权的安全模型 ✓ 正确答案
# 30. eBPF psi.tracepoint 在 custom monitoring 的工程价值? A eBPF 挂载 PSI tracepoint 可实时采集每次停滞事件并关联进程上下文,实现自定义细粒度监控,比 /proc/pressure 汇总更及时也可编程 ✓ 正确答案 B PSI tracepoint 只能读文件 C eBPF 无法挂载 tracepoint D tracepoint 与 /proc/pressure 完全重复
# 31. HWCSAN(Hardware Control-flow Sanitizer)如何利用 ARM BTI / Intel IBT 硬件指令实现控制流完整性检查,与纯软件 CFI 相比的开销差异? A HWCSAN 需要逐跳转插桩检查 B HWCSAN 用 ARM BTI/Intel IBT 硬件指令标记合法跳转目标,间接跳转时硬件校验目标、几乎零开销,比纯软件 CFI 的插桩检查开销低得多但粒度较粗 ✓ 正确答案 C 硬件 CFI 开销比软件 CFI 高 D BTI/IBT 不校验跳转目标
# 32. io_uring io_poll 在 kernel-side poll 避免 epoll 回环的工程价值? A io_poll 增加系统调用次数 B io_poll 仍需 epoll 等就绪 C io_poll 与 epoll 完全等价 D io_poll 把 fd 就绪等待下沉到 io_uring 内核侧,完成直接进 CQ,避免与 epoll 叠成的回环,统一事件与 IO 完成模型并减少系统调用 ✓ 正确答案
# 33. 为什么 IORING_SETUP_IOPOLL 要求文件以 O_DIRECT 打开?缓冲 I/O 为何无法被轮询完成? A O_DIRECT 与 IOPOLL 无关 B 缓冲 I/O 也能被设备轮询 C IOPOLL 需轮询设备完成队列,O_DIRECT 让 IO 直达设备、完成可被轮询感知;缓冲 I/O 完成在页缓存层且异步刷盘,无法被设备轮询,故强制要求 O_DIRECT ✓ 正确答案 D IOPOLL 不需要硬件支持
# 34. iopoll 适合低队列深度、低延迟的 NVMe 负载,高并发大吞吐场景为何可能不如中断驱动? A 轮询不占用 CPU B 高并发大吞吐下轮询更高效 C 中断驱动延迟总比轮询高 D iopoll 用 CPU 轮询换低延迟,适合低队列深度;高并发大吞吐下轮询占用 CPU 而中断驱动可一次合并处理多个完成且 CPU 更高效,故轮询不如中断 ✓ 正确答案
# 35. io_poll 在 high-rate network IO 的 latency 工程边界? A io_poll 内核侧等就绪、直接进 CQ 降低延迟,但 high-rate 下 CQ 消费与提交开销成为延迟边界,需 multishot、批量提交与合理队列深度配合 ✓ 正确答案 B io_poll 在极高事件率下无延迟边界 C io_poll 只能单次提交一个 fd D CQ 消费速度不影响延迟
# 36. io_poll 在无 syscall 上下文切换的高 IOPS 价值? A 上下文切换不影响 IOPS B io_poll 每次完成仍需系统调用 C 无 syscall 模式不占用 CPU D io_poll 配合用户态轮询 CQ 可无 syscall 完成感知,消除系统调用与上下文切换,提升高 IOPS 场景吞吐与延迟,代价是 CPU 占用 ✓ 正确答案
# 37. io_uring multishot accept 的 multishot mode 一次性提交多 accept 的工程价值? A multishot 减少完成事件 B multishot 每连接需重新提交 C multishot accept 一次提交后请求保持有效、自动为每个新连接产生完成事件,减少重复提交与系统调用,适合高并发连接处理 ✓ 正确答案 D multishot 不适合网关场景
# 38. pthread_barrier_wait 在 master/slave worker 同步的工程应用? A pthread_barrier_wait 让 N 个线程在屏障会合、全部到达后一起通过,master 与 worker 在阶段边界同步,适合阶段并行与批量任务分发 ✓ 正确答案 B barrier 只需一个线程到达即可通过 C barrier 返回没有特殊线程角色 D barrier 只能用于两个线程
# 39. barrier 在 CUDA/HIP/SYCL host-device 协同的工程价值? A 内存屏障不保证可见性 B barrier 只用于 host 端 C barrier 在异构计算中提供块内线程同步(__syncthreads)、跨块/全局同步与 host-device 事件时序同步,保证并行正确性与数据一致性 ✓ 正确答案 D host 无需等待 device 完成
# 40. sched_setattr(SCHED_DEADLINE) 的 runtime、deadline、period 参数工程价值? A SCHED_DEADLINE 不保证带宽 B deadline 参数无关紧要 C 总利用率可超过 1 D SCHED_DEADLINE 用 runtime/deadline/period 定义每周期带宽预算与截止时间,以 EDF 调度,提供可审计的确定性实时保证与准入控制 ✓ 正确答案
# 41. PREEMPT_RT 与 sched_setattr SCHED_DEADLINE 跨 edge、虚拟机、FreeBSD 多平台部署的 ABI/接口兼容性挑战? A FreeBSD 支持 CONFIG_PREEMPT_RT B sched_setattr 是 POSIX 通用接口 C 跨 edge/VM/FreeBSD 部署 PREEMPT_RT 与 SCHED_DEADLINE 面临内核配置缺失、虚拟时钟干扰与非 Linux ABI/接口差异,需抽象层与逐平台适配 ✓ 正确答案 D 虚拟机不影响 deadline 精度
# 42. BPF LSM bpf_task_free / bpf_bpf_prog 在 BPF LSM program type 的工程价值? A bpf_bpf_prog 与 BPF 程序无关 B BPF LSM 无法监控任务生命周期 C bpf_task_free 在任务释放时触发、bpf_bpf_prog 在 BPF 程序管理时触发,BPF LSM 让生命周期事件可被干预与观测,支持资源管理审计 ✓ 正确答案 D BPF LSM hook 只能只读
# 43. BPF LSM 与传统 SELinux/AppArmor 协同的工程边界? A BPF LSM 负责主体/客体的完整策略模型 B BPF LSM 完全替代 SELinux C 传统 LSM 与 BPF LSM 不能叠加 D BPF LSM 在 LSM hook 链上作为可编程增量层与传统 LSM 协同,补充细粒度自定义逻辑而不替代 SELinux/AppArmor 的主体策略 ✓ 正确答案
# 44. PSI some 在至少一任务等待的精度 vs full 在所有任务等待的工程差异? A some 与 full 语义相同 B some 比 full 更严重 C some 表示至少一任务等待(部分竞争、易波动),full 表示所有任务等待(完全饱和、全局瓶颈),告警与扩容通常以 full 为严重信号 ✓ 正确答案 D full 反映局部竞争
# 45. PSI 在 Android LMKD 内存压力检测的工程价值? A LMKD 不用 PSI 指标 B LMKD 用 PSI memory 的 some/full 停滞指标检测内存压力,提前且精准地触发低内存杀进程,比传统水位阈值更及时、避免系统卡死 ✓ 正确答案 C PSI 无法反映内存压力 D LMKD 只根据水位阈值判断
# 46. io_uring 的 multishot recv 与 poll 如何减少系统调用次数,在连接数固定的网关场景下相比逐次提交的收益是什么? A multishot recv/poll 一次提交后请求持久、自动产生完成事件,固定连接数网关可减少大量重复提交与系统调用,提升吞吐与降低延迟 ✓ 正确答案 B multishot 每数据单元需重新提交 C multishot 增加系统调用 D 网关场景 multishot 无收益
# 47. cgroup v2 freezer 在 cgroup stop / thaw 的工程价值? A freezer 只能冻结单个进程 B cgroup v2 freezer 原子冻结/解冻整个 cgroup 内所有进程,比逐进程 SIGSTOP 更统一,适合容器暂停恢复、快照与批量挂起 ✓ 正确答案 C SIGSTOP 能原子冻结整组 D freezer 与容器无关
# 48. cgroup v2 unified hierarchy 的子树控制(subtree_control)的工程价值? A 所有节点必须启用全部控制器 B cgroup v2 控制器只能全局挂载一次 C subtree_control 与控制器无关 D subtree_control 让父节点决定子树可用的控制器集合,实现控制器委托与层次化职责划分,避免控制器冲突,灵活分配 ✓ 正确答案
# 49. Soft-iWARP 在不需要 RNIC 的 RDMA 演示与测试工程价值? A siw 无需 RNIC 即可跑通 RDMA 应用,适合演示、测试、教学与 CI,验证逻辑语义但性能低于硬件 RDMA ✓ 正确答案 B siw 需要专用 RNIC 硬件 C siw 可验证硬件性能 D siw 不适合 CI 测试
# 50. kTLS 在 NIC 硬件 offload(TLS HW offload)的工程价值? A kTLS 与硬件 offload 无关 B 硬件 offload 不需要 NIC 支持 C kTLS 可把 TLS 数据面加解密卸载到支持 TLS offload 的 NIC,降低 CPU 占用、提升加密吞吐,但需硬件支持与配置 ✓ 正确答案 D 硬件 offload 降低吞吐
# 51. ktls-utils 工具在 debug 的工程价值? A ktls-utils 不提供诊断功能 B ktls-utils 与 kTLS 无关 C ktls-utils 只能加密数据 D ktls-utils 提供 kTLS 的配置验证、密钥管理与诊断工具,帮助排查 kTLS 未生效、数据面错误与 offload 问题 ✓ 正确答案
# 52. GWP-ASan 在 random sampling 减少 KASAN overhead 的 production 价值? A GWP-ASan 不能捕获 UAF B GWP-ASan 检查所有分配 C GWP-ASan 开销与 KASAN 相同 D GWP-ASan 用随机采样只检查部分分配,大幅降低开销使内存错误检测可在生产运行,但以漏检换低开销 ✓ 正确答案
# 53. HWCSAN 的 SCS(Shadow Call Stack)协同的工程价值? A HWCSAN 用 BTI/IBT 校验间接跳转(前向),SCS 用影子栈校验返回地址(后向),两者互补构成纵深控制流完整性保护 ✓ 正确答案 B SCS 与 HWCSAN 覆盖相同方向 C SCS 不校验返回地址 D 两者不能同时使用
# 54. userfaultfd 通过用户态处理缺页(page fault)的工程价值? A userfaultfd 让用户态接管缺页处理,支持按需加载、自定义内存管理、迁移快照与可控暂停,比内核默认缺页更灵活 ✓ 正确答案 B userfaultfd 由内核自动填充缺页 C userfaultfd 只能用于文件映射 D userfaultfd 不能控制暂停
# 55. multishot recv / read 在 single-submit multi-completion 的工程价值? A multishot 增加系统调用 B multishot 每次数据需重新提交 C multishot recv/read 一次提交后请求保持有效、自动产生多次完成事件,减少重复提交与系统调用,适合持续数据流的高吞吐场景 ✓ 正确答案 D multishot 只支持单次完成