mmap 共享映射如何实现进程间通信,MAP_SHARED 与 MAP_PRIVATE 差异是什么?
mmap 共享映射如何实现进程间通信,MAP_SHARED 与 MAP_PRIVATE 差异是什么? 本文先给出可直接复述的结论,再用最小代码说明mmap MAP_SHARED 进程通信的工作方式、判断依据、项目边界和常见误区。
程序员面试题库第 65 页,收录第 3201–3250 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。
按稳定语义路径排序
mmap 共享映射如何实现进程间通信,MAP_SHARED 与 MAP_PRIVATE 差异是什么? 本文先给出可直接复述的结论,再用最小代码说明mmap MAP_SHARED 进程通信的工作方式、判断依据、项目边界和常见误区。
pthread_mutex 在 Linux 上基于 futex 如何做到无竞争时零系统调用? 本文先给出可直接复述的结论,再用最小代码说明pthread mutex futex 实现的工作方式、判断依据、项目边界和常见误区。
互斥锁和信号量的本质区别是什么,能用二值信号量替代互斥锁吗? 本文先给出可直接复述的结论,再用最小代码说明互斥锁 信号量 区别的工作方式、判断依据、项目边界和常见误区。
nice 值如何影响 CFS 中进程实际获得的 CPU 时间? 本文先给出可直接复述的结论,再用最小代码说明nice 值 CFS 权重的工作方式、判断依据、项目边界和常见误区。
Linux OOM killer 如何挑选要杀掉的进程,如何保护关键进程? 本文先给出可直接复述的结论,再用最小代码说明OOM killer oom_score_adj的工作方式、判断依据、项目边界和常见误区。
孤儿进程为什么会被 init 收养而不是变成僵尸? 本文先给出可直接复述的结论,再用最小代码说明孤儿进程 init 收养的工作方式、判断依据、项目边界和常见误区。
匿名管道和命名管道 FIFO 的区别是什么,管道的容量与阻塞行为如何? 本文先给出可直接复述的结论,再用最小代码说明管道 FIFO 区别 阻塞的工作方式、判断依据、项目边界和常见误区。
优先级反转是如何发生的,优先级继承如何解决? 本文先给出可直接复述的结论,再用最小代码说明优先级反转 优先级继承的工作方式、判断依据、项目边界和常见误区。
Linux 进程有哪几种状态,R、D、Z 各代表什么含义? 本文先给出可直接复述的结论,再用最小代码说明Linux 进程状态 R D Z的工作方式、判断依据、项目边界和常见误区。
pthread_join 与 pthread_detach 的区别是什么,不回收线程会怎样? 本文先给出可直接复述的结论,再用最小代码说明pthread join detach 资源泄漏的工作方式、判断依据、项目边界和常见误区。
什么是竞态条件,为什么单核 CPU 上也可能发生? 本文先给出可直接复述的结论,再用最小代码说明竞态条件 race condition的工作方式、判断依据、项目边界和常见误区。
SCHED_FIFO 与 SCHED_RR 的区别是什么,实时任务饿死普通进程怎么办? 本文先给出可直接复述的结论,再用最小代码说明SCHED_FIFO SCHED_RR 区别的工作方式、判断依据、项目边界和常见误区。
读写锁适合什么读写比例,写者饥饿如何避免? 本文先给出可直接复述的结论,再用最小代码说明读写锁 写者饥饿的工作方式、判断依据、项目边界和常见误区。
Linux SCHED_DEADLINE 适用于什么场景,它如何保证任务按时完成? 本文先给出可直接复述的结论,再用最小代码说明SCHED_DEADLINE 调度的工作方式、判断依据、项目边界和常见误区。
select、poll、epoll 在 fd 数量增长时性能差异的根源是什么? 本文先给出可直接复述的结论,再用最小代码说明select poll epoll 区别的工作方式、判断依据、项目边界和常见误区。
System V 或 POSIX 共享内存本身为什么不提供同步,需要配什么机制? 本文先给出可直接复述的结论,再用最小代码说明共享内存 同步 信号量的工作方式、判断依据、项目边界和常见误区。
Linux 信号有哪些不可靠性,为什么信号处理函数里只能调用异步信号安全函数? 本文先给出可直接复述的结论,再用最小代码说明Linux 信号 异步信号安全的工作方式、判断依据、项目边界和常见误区。
signalfd 相比传统信号处理函数解决了什么问题? 本文先给出可直接复述的结论,再用最小代码说明signalfd 信号处理的工作方式、判断依据、项目边界和常见误区。
什么场景用自旋锁优于互斥锁,为什么用户态程序很少用自旋锁? 本文先给出可直接复述的结论,再用最小代码说明自旋锁 互斥锁 选择的工作方式、判断依据、项目边界和常见误区。
线程局部存储 TLS 解决什么问题,__thread 变量的生命周期如何? 本文先给出可直接复述的结论,再用最小代码说明线程局部存储 TLS的工作方式、判断依据、项目边界和常见误区。
同进程内线程切换为什么比跨进程切换便宜? 本文先给出可直接复述的结论,再用最小代码说明线程切换 进程切换 开销的工作方式、判断依据、项目边界和常见误区。
本机通信选 Unix domain socket 还是 TCP loopback,性能与功能差在哪? 本文先给出可直接复述的结论,再用最小代码说明Unix domain socket TCP 本机通信的工作方式、判断依据、项目边界和常见误区。
vfork 与 fork 的行为差异和使用风险是什么? 本文先给出可直接复述的结论,再用最小代码说明vfork 与 fork 区别的工作方式、判断依据、项目边界和常见误区。
进程和线程在资源隔离与共享上有什么区别? 本文先给出可直接复述的结论,再用最小代码说明进程与线程区别的工作方式、判断依据、项目边界和常见误区。
如何诊断并调整 PostgreSQL autovacuum 让它跟上高更新频率的大表? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL autovacuum 调优 大表 跟不上的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 的 CHECK 约束对 NULL 值如何判定,什么时候约束不会生效? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL CHECK 约束 NULL 判定的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 的 CREATE INDEX CONCURRENTLY 如何避免锁表,失败后会留下什么? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL CREATE INDEX CONCURRENTLY 失效索引 处理的工作方式、判断依据、项目边界和常见误区。
为什么 PostgreSQL 前面通常需要连接池,短连接直连会有什么问题? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL 连接池 必要性 连接开销 进程模型的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 中 DEFERRABLE 约束在什么场景下需要,推迟到提交时检查有什么代价? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL DEFERRABLE INITIALLY DEFERRED 约束的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 排他约束(EXCLUDE)能解决哪些唯一约束无法表达的建模问题? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL EXCLUDE 排他约束 时间区间重叠的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 外键的 ON DELETE CASCADE 与 ON DELETE SET NULL 该如何选择? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL 外键 ON DELETE CASCADE SET NULL 选择的工作方式、判断依据、项目边界和常见误区。
为什么 PostgreSQL 外键的被引用列自动有索引而引用列没有,什么时候必须手动为引用列建索引? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL 外键 引用列 索引 缺失 慢删除的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 热备库上的查询为什么会与 WAL 重放冲突并被取消,如何缓解? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL hot standby 查询冲突 cancel 缓解的工作方式、判断依据、项目边界和常见误区。
PostgreSQL jsonb 的 @> 包含操作符语义是什么,嵌套数组和对象的匹配规则有哪些边界? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL jsonb @> 包含操作符 语义的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 中如何为 jsonb 的特定查询模式选择 GIN、带 jsonb_path_ops 的 GIN 或表达式 B-tree 索引? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL jsonb GIN 索引 jsonb_path_ops 选择的工作方式、判断依据、项目边界和常见误区。
为什么 PostgreSQL jsonb 不保留键顺序并丢弃重复键,这对依赖原始文档的系统有什么影响? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL jsonb 键顺序 重复键 丢失的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 的 jsonpath 查询语言相比 -> 和 #> 操作符在 jsonb 上多出了哪些能力? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL jsonpath @? @@ 查询 jsonb的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 中更新 jsonb 大文档的一个小字段为什么可能很慢,如何缓解? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL jsonb 更新 整行重写 TOAST 性能的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 中 json 与 jsonb 两种类型的存储和处理差异是什么,为什么生产上通常选 jsonb? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL json vs jsonb 区别的工作方式、判断依据、项目边界和常见误区。
什么情况下应该用 PostgreSQL jsonb 列而不是拆成关系表加列的建模方式? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL jsonb 还是 关系建模 何时用的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 逻辑复制与物理流复制分别适用于什么场景? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL 逻辑复制 vs 物理复制 场景选择的工作方式、判断依据、项目边界和常见误区。
长时间未提交的事务为什么会导致 PostgreSQL 表膨胀且 VACUUM 无法回收? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL 长事务 表膨胀 VACUUM 无法回收的工作方式、判断依据、项目边界和常见误区。
用逻辑复制做 PostgreSQL 异构迁移时,切换割接的关键步骤和风险点是什么? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL 逻辑复制 迁移 割接 序列 自增 切换的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 的 MVCC 是如何通过元组版本实现读写互不阻塞的? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL MVCC 元组版本 读写不阻塞 原理的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 的 NOT VALID 约束如何做到在线给大表加约束而不长时间锁表? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL NOT VALID VALIDATE CONSTRAINT 在线加约束的工作方式、判断依据、项目边界和常见误区。
如何在 PostgreSQL 上对在线大表执行加列、改列类型等迁移而不长时间锁表? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL 在线 DDL 大表 迁移 锁 加列 改类型的工作方式、判断依据、项目边界和常见误区。
如何用 PostgreSQL 部分唯一索引实现「每个用户只有一条有效记录」这类软删除场景的唯一性? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL 部分唯一索引 软删除 唯一约束的工作方式、判断依据、项目边界和常见误区。
如何用 PostgreSQL 的 DETACH PARTITION CONCURRENTLY 在线归档历史分区数据? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL DETACH PARTITION CONCURRENTLY 归档的工作方式、判断依据、项目边界和常见误区。
PostgreSQL 分区表能否挂载外部表作为分区,这种混合分区适合什么场景? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL 分区 外部表 postgres_fdw 冷热分层的工作方式、判断依据、项目边界和常见误区。
为什么 PostgreSQL 分区表的唯一约束和主键必须包含分区键,这带来哪些设计限制? 本文先给出可直接复述的结论,再用最小代码说明PostgreSQL 分区表 主键 唯一约束 必须包含分区键的工作方式、判断依据、项目边界和常见误区。