什么场景应该用 Docker 的 macvlan 网络而不是 bridge,它有什么硬性限制?
什么场景应该用 Docker 的 macvlan 网络而不是 bridge,它有什么硬性限制? 本文先给出可直接复述的结论,再用最小代码说明Docker macvlan 网络 场景 限制的工作方式、判断依据、项目边界和常见误区。
程序员面试题库第 32 页,收录第 1551–1600 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。
按稳定语义路径排序
什么场景应该用 Docker 的 macvlan 网络而不是 bridge,它有什么硬性限制? 本文先给出可直接复述的结论,再用最小代码说明Docker macvlan 网络 场景 限制的工作方式、判断依据、项目边界和常见误区。
Docker 中 --memory 与 --memory-swap 组合使用时各取值代表什么语义? 本文先给出可直接复述的结论,再用最小代码说明Docker --memory-swap swap 限制 语义的工作方式、判断依据、项目边界和常见误区。
Docker 容器基于命名空间的隔离与虚拟机隔离在安全边界上有什么本质区别? 本文先给出可直接复述的结论,再用最小代码说明Docker 容器 虚拟机 隔离 区别 安全的工作方式、判断依据、项目边界和常见误区。
Docker 容器通过哪些 Linux namespace 实现隔离,各自隔离了什么资源? 本文先给出可直接复述的结论,再用最小代码说明Docker 容器 namespace 隔离 原理的工作方式、判断依据、项目边界和常见误区。
Docker 的 bridge、host、none、container 四种网络模式分别适用什么场景? 本文先给出可直接复述的结论,再用最小代码说明Docker 网络模式 bridge host none 区别的工作方式、判断依据、项目边界和常见误区。
如何控制 Docker 容器被 OOM killer 选中的优先级,--oom-kill-disable 有什么使用前提? 本文先给出可直接复述的结论,再用最小代码说明Docker OOM oom-score-adj oom-kill-disable的工作方式、判断依据、项目边界和常见误区。
Docker overlay 网络如何实现跨主机容器通信,依赖什么协议与端口? 本文先给出可直接复述的结论,再用最小代码说明Docker overlay 网络 VXLAN Swarm 跨主机的工作方式、判断依据、项目边界和常见误区。
为什么 Docker 容器内的主进程 PID 是 1,这会带来什么问题? 本文先给出可直接复述的结论,再用最小代码说明Docker 容器 PID 1 进程 问题的工作方式、判断依据、项目边界和常见误区。
Docker 的 --pids-limit 如何防御 fork 炸弹,默认值是多少? 本文先给出可直接复述的结论,再用最小代码说明Docker pids-limit fork 炸弹 进程数限制的工作方式、判断依据、项目边界和常见误区。
Docker 的 -p 发布端口与 EXPOSE/--expose 在作用上有什么实际区别? 本文先给出可直接复述的结论,再用最小代码说明Docker -p publish EXPOSE expose 区别的工作方式、判断依据、项目边界和常见误区。
为什么建议用只读方式挂载配置文件或宿主目录进容器,如何设置? 本文先给出可直接复述的结论,再用最小代码说明Docker 只读挂载 readonly volume 配置的工作方式、判断依据、项目边界和常见误区。
Docker 的 --restart 各策略(no/always/on-failure/unless-stopped)该如何选择? 本文先给出可直接复述的结论,再用最小代码说明Docker restart policy always on-failure 区别的工作方式、判断依据、项目边界和常见误区。
在什么场景下会让 Docker 容器共享宿主机的 PID 或 IPC 命名空间,代价是什么? 本文先给出可直接复述的结论,再用最小代码说明Docker --pid host --ipc host 共享命名空间的工作方式、判断依据、项目边界和常见误区。
为什么用 shell 形式(exec sh -c)作为容器入口会导致主进程收不到 SIGTERM? 本文先给出可直接复述的结论,再用最小代码说明Docker ENTRYPOINT shell exec 信号 SIGTERM的工作方式、判断依据、项目边界和常见误区。
直接用 docker kill 或超时被 SIGKILL 对容器内应用有什么数据风险,如何设计规避? 本文先给出可直接复述的结论,再用最小代码说明docker kill SIGKILL 数据一致性 风险的工作方式、判断依据、项目边界和常见误区。
在容器入口脚本中如何保证把收到的 SIGTERM 正确转发给实际业务进程? 本文先给出可直接复述的结论,再用最小代码说明Docker 入口脚本 信号转发 trap wait的工作方式、判断依据、项目边界和常见误区。
docker stop 向容器发送什么信号,默认等待多久后才 SIGKILL? 本文先给出可直接复述的结论,再用最小代码说明docker stop SIGTERM SIGKILL 优雅停止的工作方式、判断依据、项目边界和常见误区。
如何实时查看 Docker 容器的 CPU、内存、网络与块设备使用量,数据来自哪里? 本文先给出可直接复述的结论,再用最小代码说明docker stats 资源监控 cgroup的工作方式、判断依据、项目边界和常见误区。
为什么容器化应用应该把日志写到 stdout/stderr 而不是写容器内文件? 本文先给出可直接复述的结论,再用最小代码说明Docker 容器 日志 stdout stderr 最佳实践的工作方式、判断依据、项目边界和常见误区。
Docker 的 tmpfs 挂载适合存放什么数据,与 volume 的关键区别是什么? 本文先给出可直接复述的结论,再用最小代码说明Docker tmpfs 挂载 内存 临时数据的工作方式、判断依据、项目边界和常见误区。
Docker 容器的 ulimit(如 nofile)如何设置,默认值从哪里来? 本文先给出可直接复述的结论,再用最小代码说明Docker ulimit nofile 容器 文件句柄限制的工作方式、判断依据、项目边界和常见误区。
Docker 的 user namespace remapping 如何解决容器内 root 的安全风险? 本文先给出可直接复述的结论,再用最小代码说明Docker userns-remap 用户命名空间 root 安全的工作方式、判断依据、项目边界和常见误区。
为什么容器删除后 volume 中的数据仍然存在,什么操作会真正删除 volume? 本文先给出可直接复述的结论,再用最小代码说明Docker volume 数据持久化 容器删除的工作方式、判断依据、项目边界和常见误区。
如何让 Docker volume 存储到 NFS 等远端共享存储,实现跨主机数据访问? 本文先给出可直接复述的结论,再用最小代码说明Docker volume driver NFS 共享存储的工作方式、判断依据、项目边界和常见误区。
为什么挂载宿主机目录进 Docker 容器后经常出现权限拒绝,如何正确处理 UID 映射? 本文先给出可直接复述的结论,再用最小代码说明Docker 挂载目录 权限 UID 属主 问题的工作方式、判断依据、项目边界和常见误区。
Docker 的 volume 与 bind mount 在数据归属、初始化与可移植性上有什么区别? 本文先给出可直接复述的结论,再用最小代码说明Docker volume bind mount 区别的工作方式、判断依据、项目边界和常见误区。
为什么写入容器可写层的数据性能差且随容器消失,而挂载卷能避免这两点? 本文先给出可直接复述的结论,再用最小代码说明Docker 可写层 copy-on-write 卷 性能的工作方式、判断依据、项目边界和常见误区。
首次点击引导只需运行一回时,addEventListener 的 once 会在回调被调用后自动移除监听器,不管业务是否成功。若组件在首次点击前就关闭,仍要用 signal 或同一函数引用主动清理;一次执行与生命周期结束是两件事。
表单想在子输入框获得焦点时统一记录字段,可以在祖先捕获 focus,或改听会冒泡的 focusin。捕获监听沿祖先向目标运行,适合少量前置观察;它仍受传播路径和更外层监听器影响,清理时也要匹配捕获标志。
点击图表后把浮层放在指针旁,固定定位通常使用相对视口的 clientX 和 clientY;文档定位要考虑 pageX、pageY,容器内部还需减去自身矩形偏移。screenX 属于屏幕坐标,不能直接套给网页元素,边框与变换也会影响换算。
保存按钮应在用户完成激活时响应 click,这条路径还覆盖键盘;拖拽画布则要从 pointerdown 或 mousedown 开始记录起点。mousedown、mouseup 与 click 的时机和输入来源不同,不能把 click 当成任意按下加释放的机械组合。
手写笔移动很快时,浏览器可能把多次采样合并为一次 pointermove;getCoalescedEvents 可取回中间点,让轨迹少些折角。它增加的是输入精度,不会提高显示器刷新率;画布坐标、DPR、性能开销和 API 兼容都要另外处理。
文件树自定义右键菜单应监听 contextmenu,在事件可取消时阻止原生菜单,再根据指针位置或当前聚焦行定位。键盘也能请求上下文菜单,所以还要给操作项焦点、Escape 关闭和焦点返回路径,并处理视口边缘的遮挡。
组件选中列表项后,可以用 CustomEvent 的 detail 把记录 ID 发给外部;dispatchEvent 会同步调用监听器。事件默认不冒泡,跨 Shadow DOM 边界还要设置 composed;负载对象按引用传递,事件名与 detail 结构都应作为组件接口维护。
文件列表双击打开之前,典型鼠标路径已经发生两次 click,浏览器不会替你延后第一次单击。单击若只负责选中,两种动作可以共存;若单击会删除或发请求,就要重新设计互斥策略,还需为键盘和触屏保留独立入口。
子组件调用 preventDefault 后,父级可通过 defaultPrevented 判断这次事件的默认行为是否已被有效取消;前提是事件可取消且父级读取时子监听已运行。它与 stopPropagation 各管不同事情,也不能直接等同于“所有业务处理都完成”。
待办项由接口不断追加时,在稳定列表父级注册一次 click,再用 closest 找到删除按钮和所属项,新项也能工作。按钮内图标会改变实际 target,contains 可防止匹配越界;若整个父容器被替换,监听仍需重新注册。
父级默认委托 click 很直接,但 focus、blur 和 mouseenter、mouseleave 不按普通冒泡路径到达。表单可用 focusin、focusout 或捕获 focus;悬停可用 mouseover、mouseout 并检查 relatedTarget,防止在同一项的子元素之间移动时重复触发。
代码调用 dispatchEvent 时,监听器在方法返回前同步执行,所以同步修改的 DOM 下一行就能读到;Promise 与定时器则不会被等待。可取消事件的返回值能表达同步否决,但不能用 async 监听器来等待弹窗确认或服务端校验。
Web Component 内部派发的事件若要到达外部,必须看 composed 是否允许跨影子边界;祖先冒泡监听还需要 bubbles。跨边界后 target 可能重定向为宿主,闭合根的内部路径不会向外暴露;公开业务数据应通过事件 detail 提供。
同一次事件派发中的父子监听器拿到同一个 Event,但 currentTarget 会随当前监听器改变,异步读取时往往已为空。脚本能在前次派发结束后复用自建事件,不能在派发中重入;每次业务动作新建对象并提前保存 ID、坐标更可靠。
addEventListener 的 signal 选项如何帮助自动移除监听器?实现 AB 测试或一次性订阅时有用吗? 本文先给出可直接复述的结论,再用最小代码说明addEventListener signal AbortController的工作方式、判断依据、项目边界和常见误区。
focus 和 blur 事件不冒泡,为何仍能通过事件委托实现,但必须使用捕获? 本文先给出可直接复述的结论,再用最小代码说明focus blur 不冒泡 捕获事件委托的工作方式、判断依据、项目边界和常见误区。
focusin/focusout 事件与 focus/blur 事件在冒泡行为上有何差异?在表单校验中如何选择? 本文先给出可直接复述的结论,再用最小代码说明focusin focusout 与 focus blur 区别的工作方式、判断依据、项目边界和常见误区。
KeyboardEvent.key 和 KeyboardEvent.code 分别表示什么?在什么场景下应使用 code 而不是 key? 本文先给出可直接复述的结论,再用最小代码说明KeyboardEvent key 与 code 区别的工作方式、判断依据、项目边界和常见误区。
如何阻止空格键或方向键触发页面滚动,同时保留输入框内的默认行为? 本文先给出可直接复述的结论,再用最小代码说明keydown 阻止空格键方向键页面滚动的工作方式、判断依据、项目边界和常见误区。
为网页实现自定义键盘快捷键如 Ctrl+S 保存,如何确保不触发浏览器默认保存? 本文先给出可直接复述的结论,再用最小代码说明keydown 自定义快捷键 阻止浏览器默认行为的工作方式、判断依据、项目边界和常见误区。
键盘按住不放时 keydown 事件重复触发,如何利用 event.repeat 属性? 本文先给出可直接复述的结论,再用最小代码说明keydown event.repeat 自动重复触发的工作方式、判断依据、项目边界和常见误区。
keydown 事件与已废弃的 keypress 事件有何区别?为什么推荐用 keydown? 本文先给出可直接复述的结论,再用最小代码说明keydown 与 keypress 事件区别的工作方式、判断依据、项目边界和常见误区。
mouseenter 与 mouseover 在冒泡行为和对子元素的触发上有什么区别? 本文先给出可直接复述的结论,再用最小代码说明mouseenter 与 mouseover 冒泡区别的工作方式、判断依据、项目边界和常见误区。