招银网络科技运维研发线上二面面经
- 轮次
- 二面
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- 有哪些成果能反映你的 Linux 能力?
- 在校期间你有没有发挥主观能动性完成过什么创新性成果?
- 端口被占用了怎么排查和处理?
- 需要升级 Docker 时你会怎么做?
- 你了解 Linux 内核吗?
《参考解析》
「有什么成果能反映 Linux 能力」是一道要证据的题。 泛泛说「熟悉常用命令」等于没答。可以按三类准备:故障处置,比如端口冲突、磁盘写满、负载飙升、内存 OOM、进程僵死,每类都整理成「现象 → 排查链路 → 定位 → 处置 → 预防」;脚本与工具,比如巡检、日志切割、批量发布、监控采集,最好有别人也在用;架构侧的工作,比如容器化、CI 流水线、配置管理、容量规划。每一条都带上可核对的数字:影响面多大、恢复用了多久、之后同类故障下降了多少。
端口占用的排查是一条固定链路。 先用 ss -lntp(或 netstat -tunlp、lsof -i :端口)确认监听进程与 PID,再决定是停掉它、换自己的端口,还是查清谁先占的。要能区分几种容易混的现象:端口确实被别的进程监听;连接处于 TIME_WAIT 导致绑定失败,服务端设置 SO_REUSEADDR 就能复用;被防火墙或安全组拦掉,看起来像没监听;以及只监听了 127.0.0.1 所以外部连不上。处置时顺手做两件事——确认这个进程是不是在跑的业务(别误杀),以及记下根因(配置漂移还是发布脚本没停干净),否则下次还会复现。
Docker 升级不该靠迁移容器。 容器的可写层本来就是临时的,数据要么在数据卷里要么在外部存储,所以正确做法是让容器可重建,而不是把运行中的容器搬到另一台机器。标准步骤是:先确认当前版本、存储驱动与编排方式(Swarm、K8s 还是 compose),读一遍目标版本的兼容性说明;把节点上的服务摘掉流量并优雅停止容器;用包管理器升级 docker-ce 与 containerd 并重启守护进程;起回容器后验证网络、挂载与健康检查;观察一段时间再动下一台。三个前提要一起说:镜像用固定 tag 而不是 latest、编排文件与配置都在版本库里、有回滚预案(旧版本包留存、分批升级、留一台不动的对照组)。主动指出「迁移容器」这种做法的问题——停机时间长、数据一致性没保证、两台机器环境可能不一致——比只背步骤更能得分。
「了解内核吗」要如实说边界,再挑一条真实链路讲深。 答「不太了解,只会敲命令」显得没有深度,硬吹又会在追问里崩。推荐的策略是承认自己不是内核开发,然后挑两三个和工作相关的机制讲清楚:进程视角的调度与 cgroup 限额(容器被 OOM Killed 常见原因就是内存限额与 cgroup 统计口径)、内存的 page cache 与 overcommit 策略、I/O 上页缓存与直接 I/O 的区别、网络协议栈里的 netfilter 与 conntrack(NAT 场景的端口耗尽常出在这里)。再说明自己的观测手段:/proc 与 /sys 里的指标、dmesg 看内核日志、perf 与 ftrace 做采样分析。这样「了解到什么程度」就有了具体边界。
二面偏履历和主管面,准备重心不在八股。 这类场次基本围绕简历与意愿展开:成果、主动性、对部门方向的理解、稳定性与沟通。要准备一份两分钟的自我介绍和一页成果清单,每条写清背景、自己做了什么、带来什么变化;被问「主观能动性」时,给一件自己主动发起并推动落地的事,而不是完成被指派的任务。同时把目标部门的技术方向摸清——运维研发里 AIOps 与传统运维平台、AI Infra 与模型服务的差别很大,把问题问对、把自己会的东西对齐到对方正在做的事上,比堆专业名词有效。