面灵AI→

哔哩哔哩服务器运维一二面:SPEC 测试口径、CPU 架构选型与 NUMA

轮次
一面、二面
时间
2026-10
来源
牛客网

《面试题目》

  1. 自我介绍。
  2. 实习做了什么?用的是哪一个版本的测试工具?
  3. CPU 架构有了解吗,包括 AMD、Intel、海光?
  4. 测试的全流程是怎样的?
  5. 用 SPEC 测试时,关注的是整数还是浮点数结果?
  6. 功耗方面怎么进行测试?
  7. TCP 三次握手、四次挥手的过程?
  8. 服务器由哪些部分组成?物理选型怎么选?
  9. 硬件测试关注哪些点?
  10. 针对 CPU、内存、硬盘展开讲讲你的硬件经验。
  11. NUMA 是什么?
  12. SSH 的原理与常用操作?
  13. Linux 常用命令与排查手段?
  14. 反问。

《参考解析》

SPEC 与硬件测试的口径:SPEC CPU 分整型(SPECint,如 500/502/505 这类子项)与浮点(SPECfp),报告的是 base 与 peak 两套分数,还要标明是 speed(单任务完成时间)还是 rate(吞吐,多副本)。回答时主动交代口径:单核还是多核、几个 copy、编译器与选项、是否锁频、结果能否复现。功耗测试则分整机与部件:整机用功率计读墙插功率,按空载、典型负载、满载分档记录;CPU 包功耗可读 RAPL,功耗墙与频率墙会互相影响,跑分与功耗要同时记录。

CPU 架构与选型:Intel 与 AMD 都是 x86,但微架构差异明显——AMD EPYC 用 chiplet 把多个 CCD 拼在一个封装里,跨 CCD 访问要走 Infinity Fabric,所以核多但跨 die 延迟高;Intel 近几代是大小核与环形总线,单核强、核数少。海光基于 x86 授权,生态兼容性好、适合信创,但代际与主频落后。选型落到业务:单核敏感的看主频,并行吞吐的看多核与内存带宽,虚拟化密度看核数与通道,还要看 PCIe 够不够插网卡与盘。

NUMA:多路或 chiplet 架构下,每个 socket 有自己的内存控制器,CPU 访问本地内存快、访问远端要走互联,延迟与带宽都差一截。进程要绑核并绑本地内存(numactl --cpunodebind=0 --membind=0),否则会出现「核在 node0、内存却在 node1」的远端访问,带宽上不去、延迟抖动。排查用 numastat、lscpu 看拓扑,perf 看跨节点流量;数据库、NFV 这类延迟敏感服务必须做 NUMA 亲和。

服务器组成与物理选型:机箱与供电(冗余电源、功率余量)、主板与 CPU(路数、TDP、散热)、内存(容量、通道、ECC)、存储(NVMe/SATA、RAID 卡与缓存、寿命)、网络(网卡速率、bond)、管理口(BMC/IPMI)。选型先算业务模型:要多少核、多少内存带宽、多少 IOPS 与带宽,再看机架空间、功耗上限与预算。

硬件测试关注点:兼容性(内存与主板、盘与 RAID 卡、网卡与交换机)、稳定性(长时间满载、重启掉电、温度与风扇策略)、性能(CPU/内存/磁盘/网络的基准与压测)、可维护性(带外管理、告警、硬盘热插拔)、以及批次一致性(同型号不同批次混插容易出问题)。故障率要按部件统计,这是运维选型的依据。

TCP 与 SSH:三次握手是 SYN、SYN+ACK、ACK,目的是双方确认收发能力并同步序号;四次挥手是 FIN、ACK、FIN、ACK,因为 TCP 是全双工,两个方向各自关闭,TIME_WAIT 等 2MSL 保证最后的 ACK 能重传、并让旧连接的报文消失。SSH 先做版本协商与密钥交换,再用服务器公钥验证身份,之后对称加密传输;日常用密钥登录、~/.ssh/config 管理跳板、ssh -L/-R 做端口转发,加固则是禁 root 直登与密码登录、限制来源 IP。