面经收集

面经收集

来源:牛客网多位作者(见各章节出处)
最后更新:2026-04-15


Linux

  1. 用过哪些 Linux 发行版本?(CentOS企业级最常用,稳定性强;Ubuntu桌面和服务器都用,社区活跃;Debian最稳定,适合追求极致稳定的场景;还有Fedora、Rocky Linux、AlmaLinux等)
  2. 如何查看 CPU 核数及硬件信息?(cat /proc/cpuinfo查看CPU型号、物理核数、逻辑核数;lscpu以人类可读格式显示CPU架构、核心数、线程数、CPU频率等)
  3. 有哪些网络端口在监听状态?(lsof -i显示监听端口及对应进程;ss -tulnp更现代,显示详细进程名和PID;netstat -tulnp传统工具但性能较差)
  4. 怎么统计文本文件的行数?(wc -l filename,wc即word count,-l参数只计行数;也可以用grep -c “.” filename统计非空行数)
  5. 假如要测接口的端口,用哪些命令?(telnet host port经典方式测试TCP端口连通性,连接成功显示Connected;nc -zv host port更现代,显示端口开放状态;curl -v测试HTTP端口)
  6. 磁盘阵列如何挂载?(RAID创建后用fdisk -l查看阵列设备名如/dev/md0;mount /dev/md0 /mnt挂载到目录;写入/etc/fstab实现开机自动挂载)
  7. Linux 里软件怎么安装?(yum install(CentOS/RHEL)自动化RPM包管理;apt install(Debian/Ubuntu);dnf install(Fedora);编译安装:./configure && make && make install)
  8. Linux 里做过哪些操作?(安装配置Nginx/MySQL/Redis;编写Shell自动化脚本;配置Zabbix/Prometheus监控;数据备份和恢复;定时任务crontab;用户权限管理;日志分析等)
  9. Linux 进程有哪些状态?(R运行态(Running/Runnable)正在运行或就绪;S可中断睡眠(Sleeping)等待事件;D不可中断睡眠(Uninterruptible)通常等待IO;T暂停态(Stopped)被信号暂停;Z僵尸态(Zombie)子进程退出但父进程未回收)
  10. top 命令怎么看?(第一行:系统运行时间和负载均值(1/5/15分钟);第二行:任务总数(运行/睡眠/停止/僵尸);第三行CPU使用率(us用户/sy内核/ni优先级/id空闲/wa等待IO);第四五行内存和交换分区使用;下方进程列表按CPU%排序,按M按内存排序)
  11. 什么是平均负载?(load average:系统处于运行或等待状态的平均进程数,1min/5min/15min三个值;数值低于CPU核数说明有空闲资源;高于核数说明有竞争;高于2倍核数说明严重过载)
  12. 什么情况下进程处于不可中断状态?(D状态(Uninterruptible Sleep),进程正在等待IO(磁盘读写、网络响应),此时不能被信号杀死也不能被中断)
  13. 怎么看进程的 IO?(iotop按IO使用量排序显示进程;pidstat -d 1采样显示每个进程的IO读写次数和KB数;iostat -x 1查看每个设备的IO利用率和队列长度)
  14. 僵尸进程是什么?(子进程已退出但父进程未调用wait()读取其退出状态,导致PCB仍留在进程表中,ps显示为Z状态;无法被kill杀死,只能kill父进程或重启父进程)
  15. 进程、线程和协程的区别?(进程是资源分配单位,拥有独立地址空间;线程是调度单位,同一进程内线程共享堆和文件描述符,开销比进程小;协程是用户态调度,由程序自己控制切换不需要内核介入,上下文切换极快)
  16. time_wait 出现的原因?如何排查?如何解决?(四次挥手后主动关闭方进入TIME_WAIT,持续2MSL(约60秒);确保对方收到最后的ACK,防止旧连接延迟报文干扰新连接;解决方案:tcp_tw_reuse=1允许复用;tcp_tw_recycle=1快速回收(NAT环境有坑);tcp_fin_timeout缩短等待时间)
  17. 磁盘使用量高如何找到大文件并删除?(du -sh /* | sort -rh找出大于1G的目录;find / -type f -size +100M -exec ls -lh {} ;找大于100M的文件;结合业务判断哪些文件可删除)
  18. 磁盘使用量高但 du/find 找不到大文件怎么办?(已删除但文件描述符未关闭:lsof +L1显示被删除但仍在使用的文件;缓存占用:echo 3 > /proc/sys/vm/drop_caches清除Page Cache;tmpfs虚拟内存盘:df -h查看)
  19. CPU 负载过高会发生什么?(系统响应变慢,SSH连接卡顿;高优先级进程可能抢占资源;触发throttle;严重时触发OOM杀死最占用内存的进程;负载长期高于2倍CPU核数说明需要扩容)
  20. Swap 内存的作用?启用的好处和坏处?(swap将内存页交换到磁盘扩展可用内存;好处:防止OOM增加容错空间;坏处:频繁swap会导致磁盘IO成为瓶颈性能急剧下降)
  21. free 命令中 free 和 available 列的区别?(free是真正未分配的物理内存;available包含free+可回收的buffers和cached,程序实际可用内存更接近available而非free)
  22. OOM 机制了解吗?(Out of Memory,当Linux检测到内存不足时触发,Kernel选择占用内存最大的进程发送SIGKILL;可通过dmesg -T | grep -i “out of memory”查看被Kill的进程日志)
  23. 内存水位线机制了解吗?(watermark有min/low/high三个阈值;当可用内存低于low时kswapd开始后台回收;当低于min时触发直接内存分配并阻塞等待;min水位线下的内存是真正紧急的)
  24. CPU/内存/磁盘/网络监控命令?(top实时CPU和进程;vmstat 1采样CPU/内存/IO;iostat -x 1查看磁盘IO;sar -n DEV 1 10统计网卡流量;iftop -i eth0实时流量)
  25. 查看网卡带宽/流量的命令?(iftop -i eth0实时显示按流量排序的连接;nethogs -d 1按进程显示流量;sar -n DEV 1 10查看网卡收包数和字节数)
  26. NTP 服务是用来做什么的?(时间同步,确保集群中各机器时间一致,避免日志时间错乱无法对应问题;证书验证依赖时间一致性;分布式系统依赖时间戳判断事件先后)
  27. 如何查看系统内核版本?(uname -a显示所有系统信息包括内核版本;cat /proc/version直接查看内核版本文件;hostnamectl查看主机名和内核信息)
  28. 如何修改文件权限?(chmod +x file添加执行权限;chmod 755 file(rwxr-xr-x);chmod 600 file(rw——-)仅所有者可读写;chown user:group file改所有者和所属组)
  29. 怎么判断本主机端口是否被占用?(lsof -i:显示占用该端口的进程;netstat -tulnp | grep显示监听该端口的进程名和PID;ss -tulnp | grep :更高效)
  30. 怎么判断目标主机端口通不通?(telnet连接测试,Connected表示通,refused表示端口未开放,timeout表示网络不通;nc -zv显示结果)
  31. 怎么查看当前服务器的内存、CPU 占用情况?(top按CPU排序;top后按shift+m按内存排序;top后按1查看每个CPU核心的使用率)
  32. 怎么查看目标服务器的内存、CPU 占用情况?(ssh user@host top -bn1远程执行一次top;ansible all -m setup获取所有主机硬件信息;ansible-m shell -a ‘free -h && df -h’)
  33. 查看硬盘分区命令?(df -h人类可读格式显示磁盘使用率和挂载点;fdisk -l列出所有磁盘和分区信息;lsblk树形显示块设备及其挂载点)
  34. 软链接与硬链接的区别?(软链接是独立文件存储目标路径,可跨文件系统,可链接目录,删除源文件软链接失效;硬链接同一inode,不能跨文件系统,不能链接目录,删除源文件硬链接仍有效)
  35. Linux 核心目录结构有哪些?(/etc系统配置;/var可变数据(日志/数据库);/home用户主目录;/usr程序文件;/proc内核参数;/sys设备信息;/dev块设备;/tmp临时文件;/boot引导程序)
  36. 什么是 NAT?(网络地址转换,将私有IP转换为公网IP访问互联网,节省公网IP资源;SNAT让内网机器共享一个公网IP上网;DNAT将公网请求端口映射到内网服务)
  37. Linux 怎么配置 SNAT 和 DNAT?(SNAT:iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE;DNAT:iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp –dport 80 -j DNAT –to-destination 192.168.1.100:8080)
  38. 磁盘文件存储系统的三个核心步骤?(1.分区:fdisk /dev/sda;2.格式化:mkfs.ext4 /dev/sda1;3.挂载:mount /dev/sda1 /data;4.配置/etc/fstab开机自动挂载)
  39. LVM 是什么?(逻辑卷管理,物理卷PV组成卷组VG,再从VG划分逻辑卷LV;支持动态扩展(lvextend)和快照(lvcreate -s))
  40. 文件系统的 EXT4 和 XFS 区别?(EXT4兼容性最强,最大16TB;XFS最大支持8EB,大文件性能更好,支持在线扩容但不支持在线缩减)
  41. 如何新建用户,然后对用户限制权限(对用户使用的命令做限制)?(useradd -m username;visudo编辑sudoers添加权限;chroot隔离用户根目录)
  42. 如果一个重要的服务进程在后台怕它崩掉怎么办?(nohup ./server &后台运行;systemctl enable server开机自启;supervisor管理进程自动重启;心跳机制定时检查进程存活)

网络

  1. 讲一下 TCP/IP 协议,为什么要分层?(分层使网络设计模块化、职责清晰:物理层负责比特定传输;链路层负责MAC寻址;网络层负责IP路由;传输层负责端到端可靠连接;应用层负责具体业务逻辑。各层通过接口交互,某一层改变不影响其他层)
  2. 七层模型/四层模型说一下(OSI七层:物理层/数据链路层/网络层/传输层/会话层/表示层/应用层;TCP/IP四层:网络接口层(物理+链路)/网络层(IP)/传输层(TCP/UDP)/应用层(会话+表示+应用))
  3. TCP/IP 四层模型是哪四层?(应用层(HTTPDNSFTP);传输层(TCP/UDP);网络层(IP/ICMP);链路层(以太网/PPP))
  4. 3次握手、4次挥手说一下?(三次握手:客户端发SYN(seq=x)→服务器返回SYN-ACK(seq=y, ack=x+1)→客户端发ACK(ack=y+1),双方进入ESTABLISHED。四次挥手:主动关闭方发FIN→接收方返回ACK→接收方发FIN→主动关闭方发ACK,双方关闭,TIME_WAIT等待2MSL)
  5. 输入一个 URL 的全部过程?(DNS解析→TCP连接到IP:443→TLS握手→HTTP请求(GET /path)→服务器处理(负载均衡→Web→应用→数据库)→响应→浏览器渲染)
  6. HTTP 和 HTTPS 的区别(HTTPS=HTTP+TLS,所有数据加密传输,默认端口443;HTTP明文传输,默认端口80)
  7. HTTPS 加密具体怎么做的?(TLS握手:ClientHello→ServerHello(证书+公钥)→客户端验证证书→用公钥加密Pre-Master Secret→双方生成Session Key→对称加密(AES)传输)
  8. 对称加密、非对称加密在哪里用到?(非对称加密(RSA):TLS握手阶段交换会话密钥,只有服务器有私钥;对称加密(AES):真正传输数据,速度快)
  9. CA 了解吗?(Certificate Authority,证书颁发机构,受浏览器信任;CA用私钥对服务器公钥签名生成数字证书;浏览器内置根证书库链式验证;知名CA:DigiCert、Let’s Encrypt(免费)、GlobalSign)
  10. 中间人攻击怎么防范?(证书校验/证书固定(Certificate Pinning):首次记住证书,后续对比防止被替换;mTLS双向认证,客户端也必须有证书)
  11. TLS 和 SSL 是应用层组件吗?(不是,TLS/SSL工作在传输层(TCP之上)和应用层之间,为应用层提供加密服务)
  12. TCP 和 UDP 的区别(TCP面向连接(三次握手),有流量控制和拥塞控制,保证数据按序到达不丢包;UDP无连接,直接发送数据报,无确认机制,速度快但不可靠)
  13. UDP 需要建立 Socket 连接吗?(不需要,sendto直接发送;accept只用于TCP接受连接请求)
  14. IS-IS 协议有没有学过?(链路状态路由协议,用于ISP骨干网,和OSPF类似但使用CLNS地址;Level-1管理本区域,Level-2跨区域)
  15. 网络设备配置过吗?把接口放到 VLAN 下怎么操作?(interface GigabitEthernet0/0/1;port link-type access;port default vlan 10;Trunk端口:port link-type trunk;port trunk allow-pass vlan 10 20)
  16. Nginx 可以做四层代理吗?可以做七层代理?(stream {}块做四层TCP/UDP代理;server+location做七层HTTP代理,支持URL路由和Header修改)
  17. LVS 可以做几层代理?(四层,传输层,基于IP和端口分发,不解析HTTP内容,性能极高)
  18. Nginx 和 LVS 做四层代理的区别?(LVS是纯四层转发,延迟极低,适合大流量场景;Nginx在四层基础上有更强内容感知能力但性能比LVS低;实际生产中LVS做入口+Nginx做七层是常见组合)
  19. 路由交换有过了解吗?(交换机工作二层基于MAC地址通过CAM表转发;路由器工作三层基于IP通过路由表转发;现代三层交换机也集成路由功能)
  20. DNS 本地服务器和权威服务器的区别?(权威服务器拥有某域名的原始DNS记录,直接响应查询;递归/本地DNS服务器代替客户端向权威服务器迭代查询,通常带缓存)
  21. 网络连接的五要素?(源IP、源端口、目标IP、目标端口、传输协议(TCP/UDP),五元组唯一标识一个网络连接)
  22. 简述路由与交换的核心原理及区别?(交换机通过CAM表基于MAC地址快速查找转发端口,硬件交换;路由器通过路由表基于IP查找下一跳,功能更强但速度慢)
  23. 子网掩码的位数范围?可用 IP 数量怎么算?(范围/8到/30;可用主机数=2的(32-位数)次方-2(减去网络地址和广播地址);如/24:2^8-2=254)
  24. 介绍 OSPF 的所有 LSA 类型?(LSA1 Router LSA:每台OSPF路由器产生,描述直连链路;LSA2 Network LSA:DR在广播网络产生,列出所有与DR邻接的路由器;LSA3 Summary LSA:ABR产生,汇总区域间路由;LSA4 ASBR Summary LSA:ABR产生,描述ASBR位置;LSA5 External LSA:ASBR产生,引入外部路由;LSA7 NSSA LSA:在NSSA区域由ASBR产生,转换为LSA5泛洪到其他区域)
  25. 详细介绍 OSPF 一类、二类 LSA?(Router LSA(Type-1):每台OSPF路由器产生,描述所有直连接口(网络、Cost、邻居Router-ID),只在产生区域内泛洪。Network LSA(Type-2):由DR在广播多路访问网络中产生,列出所有与DR建立FULL邻接关系的路由器ID)
  26. 哪些设备会发送 Network LSA?(DR(Designated Router),在广播和NBMA网络中选举产生,负责与所有路由器建立邻接并生成LSA2)
  27. 交换机收到发来的信息,先识别哪一层?匹配哪个表?(先识别二层(以太网帧头),查看目标MAC地址;在CAM表查找对应端口,找到则从该端口转发,找不到则泛洪;同时学习源MAC更新CAM表)
  28. TCP 的 MSS 字段,设置大了设置小了有啥影响?和 MTU 的关系?(MSS=MTU-IP头(20字节)-TCP头(20字节)=MTU-40;MSS过大会导致IP分片增加网络碎片开销;MSS过小每个报文有效载荷占比低,传输效率低)
  29. 了解过负载均衡产品?网络负载均衡有了解过吗?(云上:阿里云CLB(七层)/NLB(四层),腾讯云CLB,AWS ALB/NLB;传统:F5 BIG-IP(硬件),LVS(软件四层),Nginx(七层))
  30. 如何设计减小 BGP 的路由抖动,提高网络健壮性?(使用路由聚合(aggregate)减少路由条目;部署冗余物理链路(双上联);BFD双向转发检测(毫秒级故障检测)联动BGP快速收敛;NQA网络质量分析实时监控链路质量)
  31. M-LAG 技术有了解过吗?双发 ARP 的方案了解吗?(M-LAG两台独立交换机虚拟成一台逻辑交换机,下联服务器双归接到两台交换机,链路冗余且负载分担;双发ARP:两台交换机配置相同虚拟IP和虚拟MAC,主动向服务器发送ARP应答,防止ARP表项不一致)
  32. 讲一下一个交换机收到数据帧后的判断过程?(1.剥去FCS进行CRC校验,失败则丢弃;2.查看目标MAC:广播(FF:FF:FF:FF:FF:FF)则泛洪;3.单播MAC查CAM表,找到则从对应端口转发,找不到则泛洪;4.学习源MAC更新CAM表)
  33. OSPF 邻居建立不起来的原因?怎么排查?(版本不一致/Area ID不同/认证不匹配/网络类型不匹配(P2P和Broadcast无法建立FULL邻接)/hello间隔和dead间隔不一致;使用display ospf error查看错误统计;display ospf interface查看接口配置)
  34. 数据中心,两台服务器 ping 不通,怎么排查?(物理层:网线/光纤是否插好、光模块是否正常;链路层:VLAN配置是否一致、STP是否阻塞端口;网络层:路由是否正确、ACL是否阻止ICMP;传输层:防火墙是否放行ICMP;应用层:安全策略是否阻断)
  35. QUIC 与 TCP 的区别特性?(QUIC基于UDP,0-RTT/1-RTT快速握手;多路复用(不同Stream相互独立,无队头阻塞);连接迁移(Connection ID替代五元组,网络切换不断线);TLS 1.3集成在握手内)
  36. OSI 七层模型是什么?(物理层(比特定传输);数据链路层(MAC帧);网络层(IP路由);传输层(TCP/UDP);会话层(建立维护会话);表示层(数据加密/压缩);应用层(HTTP/FTP/SMTP))
  37. 从 A 发一个网络包到 B 的应用,整个发送接收流程?(应用层:HTTP请求封装;传输层:TCP分割数据段,添加源/目的端口;网络层:IP封装,添加源/目的IP;链路层:帧封装,添加源/目的MAC(ARP解析);物理层:转换为电信号/光信号发送;接收方逐层解封装)
  38. DNS 解析流程?(浏览器/系统缓存→hosts文件→本地DNS递归服务器→根DNS→顶级DNS(.com)→权威DNS→返回结果并缓存)
  39. DNS 记录中 TTL 的作用?(DNS记录在递归DNS服务器的缓存时间;TTL越大缓存越久访问更快但更新生效越慢;TTL越小更新快但递归DNS查询压力大;生产中通常设置300-3600秒)
  40. TCP 半连接和全连接队列?(半连接队列(SYN队列):服务器发送SYN-ACK后等待第三次握手,长度由tcp_max_syn_backlog控制,队列满则丢弃SYN;全连接队列(accept队列):三次握手完成但应用层未accept的连接,长度由net.core.somaxconn控制,队列满则丢弃连接)
  41. MAC 表老化时间是多久?(默认300秒(5分钟),交换机自动学习MAC并写入CAM表;mac-address-aging-time可修改)
  42. ARP 表老化时间是多久?(默认1200秒(20分钟);arp -a查看当前ARP缓存;arp -d手动删除;arp -s静态绑定)
  43. 说一下 STP 协议?(生成树协议,防止以太网交换网络中的环路;选举根桥(Bridge ID=优先级+MAC,优先级最低当选)→每台非根桥选举根端口(到根桥Cost最小)→每个网段选举指定端口(转发)→其余端口阻塞,形成无环树形拓扑)
  44. STP 中 BID 是怎么选举的?需要配置吗?(Bridge ID=优先级(默认32768)+ MAC地址;数值越小越优先成为根桥;通常不需要手动配置,但可通过spanning-tree vlan x priority y命令指定根桥)
  45. ARP 协议是干嘛的?地址解析过程?(将IP地址解析为MAC地址;发送端广播ARP请求(谁有这个IP?)→目标主机单播ARP响应(这个IP的MAC是XX:XX:XX:XX:XX:XX)→发送端学习并缓存到ARP表)
  46. VLAN 的划分是基于设备还是接口?(最常用的是基于接口(物理端口)划分VLAN;也有基于MAC地址(动态VLAN)、基于IP子网、基于用户认证的划分方式)
  47. VLAN 之间通过什么通信?(同一交换机不同VLAN之间二层隔离,必须通过三层;使用三层交换机/路由器:创建VLANif(SVI)接口,配置IP作为该VLAN的网关,VLAN间路由通过IP路由实现)
  48. 交换机堆叠可以解决什么问题?(将多台物理交换机虚拟成一台逻辑交换机;提升带宽(多链路聚合);冗余备份(主交换机故障备机接管);简化管理;消除STP阻塞端口提高链路利用率)
  49. 浮动路由是什么?(Static Route with different admin distance,配置两条去往同一目标网络的静态路由,优先级低的为主路由,高的为备份路由;主路由故障后自动切换到备份路由)
  50. 无线配置模式有哪些?(Fat AP(自治型):独立工作无需AC,适合小型办公室;Fit AP+AC(轻AP):AP受AC集中管控,支持零配置上线(CAPWAP隧道),适合中大型网络;敏捷分布式AP:中心AP管理远端AP模块)
  51. AC 和 AP 的组网模式:旁挂和直通模式的区别?(旁挂模式:AC只做无线控制和业务下发,业务数据不经过AC,AC故障不影响已在线用户上网;直通模式:AC既做控制又做业务数据转发,用户流量经过AC,AC故障用户断网)
  52. AC/AP 三层组网?(AP和AC不在同一IP网段,需要DHCP服务器(通常是核心交换机)给AP分配IP;AP获取IP后通过CAPWAP隧道与AC建立控制隧道(和可选的数据隧道),隧道内容可选DTLS加密)
  53. 旁挂模式下 AC 故障会影响无线上网吗?(不影响已接入用户的业务,因为业务数据不经过AC;新用户可能无法关联,因为部分认证流程(Portal认证等)需要经过AC处理)
  54. DHCP Snooping 的作用?(监听DHCP消息,建立DHCP Snooping Binding表(IP+MAC+端口+VLAN+租约时间);防止私接DHCP服务器(假冒合法DHCP分配错误IP);也可用于ARP防护)
  55. AC 在旁挂模式和直通模式下,对 AC 设备要求有什么不同?(旁挂模式:对AC转发性能要求低,主要做控制面;直通模式:对AC转发性能和吞吐量要求高,因为所有业务和管理流量都经过AC)
  56. 动态路由协议有哪些?(OSPF(链路状态IGP,适合中大型网络);IS-IS(链路状态IGP,主要用于ISP);BGP(路径矢量EGP,用于AS之间);RIP(距离矢量IGP,已基本淘汰);EIGRP(Cisco私有,混合型))
  57. OSPF 协议的网络类型有哪些?(P2P(点对点,如PPP);Broadcast(广播,以太网,需要DR/BDR选举);NBMA(非广播多路访问,如帧中继);P2MP(点对多点))
  58. OSPF 中点对点和 Broadcast 类型有什么区别?(Broadcast需要选举DR/BDR,所有路由器都与DR/BDR建立FULL邻接关系,形成星型拓扑;P2P不需要DR,两台路由器直接建立FULL邻接关系)
  59. OSPF 选路主要依据哪些?(Cost值(接口开销)最小的路径优先;Router-ID最大作为tie-breaker(在AD和Cost都相同时);可通过route-map修改Cost值或通过import-route改变外部路由优先级)
  60. OSPF Cost 值影响选路时,是根据入接口还是出接口的 Cost?(入接口的Cost值,入接口Cost累加到路由的Total Cost影响选路;出接口Cost不影响本路由的Cost值)
  61. OSPF 协议是如何防环的?(区域内:通过SPF算法生成无环的最短路径树;区域间:通过骨干区域(Area 0)连接,所有区域间流量必须经过骨干;外部路由:通过AD值(150)大于区域内路由(110),保证区域间路由优先)
  62. OSPF 中 Stub 区域和 NSSA 区域的区别?(Stub区域:不允许LSA5(外部路由)进入,ABR注入默认路由;NSSA区域:允许LSA7(NSSA External LSA)在区域内传播,由ABR转换成LSA5泛洪到其他区域)
  63. 说一下 VRRP?有什么作用?(虚拟路由冗余协议,将多台路由器虚拟成一个虚拟IP(VIP)和虚拟MAC(00-00-5E-00-01-{VRID});Master负责转发,Backup监听Master状态,当Master故障时优先级最高的Backup成为新Master,实现网关高可用)
  64. 了解 VPN 吗?常见的 VPN 技术?(IPSec VPN:隧道模式+ESP/AH加密,用于site-to-site;SSL VPN:基于SSL/TLS,用于远程接入用户;MPLS VPN:运营商骨干网VPN;PPTP/L2TP:古老协议,安全性差已基本淘汰)
  65. 常见的 WiFi 协议有哪些?(802.11b(2.4GHz,11Mbps);802.11g(2.4GHz,54Mbps);802.11n(WiFi4,2.4/5GHz,600Mbps);802.11ac(WiFi5,5GHz,6.9Gbps);802.11ax(WiFi6,9.6Gbps,OFDMA和MU-MIMO改善多用户并发))
  66. 如果某个终端用户的 WiFi 连接故障,如何解决?(检查无线信号强度(RSSI>-70dBm为佳);确认关联到正确的SSID和AP;检查DHCP是否正常获取IP;检查用户名密码认证是否正确;排查无线干扰(信道重叠/同频干扰);检查AP负载和关联用户数是否超载)
  67. 印象深刻印象比较深刻的网络故障?(某次防火墙上一条静态路由回指地址错误,导致回程报文无法回来,用户端一直重传,防火墙CPU飙高告警;通过抓包(tcpdump)和路由表排查定位到错误路由下一跳不是预期路径,修正后恢复)
  68. 防火墙基本功能?(包过滤(基于ACL的五元组过滤);状态检测(跟踪连接状态,自动放行返回流量);NAT(地址转换);应用层过滤(DPI深度包检测);IDS/IPS(入侵检测/防御);VPN)

Docker

  1. 怎么看正在运行的容器?镜像呢?(docker ps查看运行中的容器;docker ps -a查看所有容器包括已停止;docker images查看本地镜像列表)
  2. Dockerfile 写过吗?写过哪些指令?(FROM指定基础镜像;COPY/ADD复制文件;RUN执行构建命令;CMD/ENTRYPOINT定义启动命令;EXPOSE声明端口;ENV设置环境变量;WORKDIR设置工作目录;USER/ARG定义用户和构建参数)
  3. 怎么进入容器内部查看信息?(docker exec -it/bin/bash进入主bash;如果容器没有bash则用/bin/sh;docker attach可以attach到主进程但会同步,exec开新进程不会)
  4. 镜像导出再导入到另一个环境,怎么做?(docker save -o image.tar image_name:tag导出镜像;docker load -i image.tar导入;docker export container_id > image.tar是容器快照,docker import image.tar创建为镜像)
  5. Docker 核心组件有哪些?(Docker Daemon后台进程管理容器生命周期;Docker Client CLI发送命令;Docker Registry镜像仓库;Images只读模板;Containers运行实例;Networks网络;Volumes持久存储)
  6. 容器和虚拟机的区别?(容器共享宿主机内核,更轻量(MB级)、启动快(秒级)、性能接近物理机;虚拟机有独立内核,完全虚拟化硬件,更重(GB级)、启动慢(分钟级)、隔离性强但开销大)
  7. 容器基于宿主操作系统内核,会不会导致安全性问题?(是的,存在容器逃逸风险:privileged模式可获取宿主机root权限;Docker Socket挂载可远程管理Docker;防护:不用privileged模式、seccomp限制系统调用、SELinux/AppArmor强制访问控制)
  8. Docker 的网络类型有哪些?host 和 bridge 有什么区别?(bridge(桥接):默认模式,容器在独立网桥中通过NAT访问外网;host:与宿主机网络命名空间合并,直接使用宿主机网络(无隔离);overlay:跨主机容器网络;none:禁用网络;container:使用其他容器的网络命名空间)
  9. Docker 和 Containerd 的区别?(Docker是完整平台包含容器管理/镜像构建/网络/存储;Containerd是从Docker分离出的容器运行时组件,只负责容器管理(创建/启动/停止/删除);K8S通过CRI直接对接Containerd,不再需要Docker完整守护进程)
  10. Namespace、Cgroup、UFS 是什么?(Namespace:Linux内核资源隔离技术,6种命名空间PID/Network/Mount/UTS/User/IPC;Cgroup:控制组,限制/隔离/统计进程组的资源使用(CPU/内存/IO/网络);UFS:联合文件系统,分层叠加,多个只读层+一个可写层,镜像层复用节省空间)
  11. Docker 镜像怎么设置占用资源命令?(docker run –memory=512m –cpus=1.5 –cpu-shares=1024限制内存和CPU;–cpuset-cpus限制CPU核心;docker-compose.yml中用deploy.resources.limits配置)
  12. ENTRYPOINT 和 CMD 的区别?(ENTRYPOINT定义容器启动时必须执行的命令,不容易被docker run参数覆盖;CMD为其提供默认参数,可被docker run参数覆盖;建议用法:ENTRYPOINT放命令,CMD放参数)
  13. Docker 基于 Linux 什么机制实现隔离?(6种Namespace隔离资源视图:PID隔离进程ID;Network隔离端口和IP栈;Mount隔离文件系统视图;UTS隔离主机名域名;User隔离用户组ID;IPC隔离信号量消息队列。Cgroups限制资源使用上限,两者结合实现容器”独立”运行环境)
  14. 什么是 Docker?它和 KVM 的区别?(Docker是开源容器引擎,用于构建和运行容器化应用;KVM是Linux内核级虚拟化技术,运行完整独立虚拟机;Docker容器共享宿主机内核所以更轻量,KVM有独立内核隔离性更强)
  15. 容器构建慢怎么办?(多阶段构建(Multi-stage build):最终镜像只包含运行所需文件,体积大幅减少;利用缓存:不变层放前面,变化层放后面;减少RUN指令合并层;使用.dockerignore排除无关文件;换更小的基础镜像如alpine)
  16. Docker 进程重启后,上面跑的容器会挂掉吗?(已运行的容器进程不受影响(容器进程与Docker Daemon解耦通过containerd-shim);但新容器无法启动;如果容器配置了restart=always,Daemon重启后会自动拉起)
  17. Docker 怎么清理没有用的镜像?(docker image prune -a清理所有未使用镜像;docker system prune -a清理构建缓存+停止容器+未使用网络;docker container prune清理已停止容器;docker volume prune清理无名卷)
  18. Docker Volume 是什么?有几种类型?(用于容器持久化存储;bind mount映射宿主机特定目录到容器;volume是Docker管理存储(默认路径/var/lib/docker/volumes),适合持久化和多容器共享;tmpfs内存文件系统,适合敏感数据;named pipe宿主机命名管道)
  19. 快速查看每个容器 CPU/内存/磁盘占用的命令?(docker stats实时流式显示所有容器资源使用(CPU/内存/网络/磁盘IO);docker stats –no-stream只显示一次)
  20. Helm 了解吗?用过吗?(Helm是K8S的包管理工具,通过Chart模板化管理K8S资源(Deployment/Service/ConfigMap等);helm install部署;helm upgrade更新;helm rollback回滚;比直接kubectl apply更易管理和版本控制)
  21. Python Web 项目用 Docker 部署,Dockerfile 怎么写?(FROM python:3.9-slim → WORKDIR /app → COPY requirements.txt → RUN pip install –no-cache-dir -r requirements.txt(利用缓存)→ COPY . → EXPOSE 8000 → CMD [gunicorn, app:app, -b, 0.0.0.0:8000])
  22. Python 依赖怎么处理?(通常用requirements.txt配合pip install -r requirements.txt;也可用Pipenv(pipenv install)或Poetry(poetry install)生成lock文件锁定依赖版本)

Kubernetes

  1. 介绍 K8S?(Kubernetes,容器编排平台,实现容器自动化部署/扩缩容/自愈/负载均衡/服务发现/配置管理,屏蔽底层基础设施差异,提供统一运维体验)
  2. K8S 的核心组件有哪些?(API Server:集群统一入口(REST API);etcd:高可用键值存储,保存所有集群状态;Scheduler:调度器,将Pod分配到合适节点;Kubelet:每个Node上的代理,管理Pod生命周期;Kube-proxy:维护网络规则,实现Service通信;Controller Manager:运行各种控制器维持desired state)
  3. 创建一个 Deployment,生成两个 Pod 的流程?(kubectl create deployment → API Server认证鉴权 → 写入etcd(desired state)→ ReplicaSet Controller创建ReplicaSet → Scheduler预选优选打分 → 将Pod调度到合适Node → 该Node的Kubelet通过CRI调用容器运行时创建容器 → CNI插件配置Pod网络)
  4. 调度器调度的流程?(1.预选(Predicate):过滤不符合Pod需求的节点(如资源不足/标签不匹配/端口冲突);2.优选(Priority):对通过的节点打分(如CPU/内存剩余量LeastRequestedPriority、节点亲和性NodeAffinity、Pod亲和性PodAffinity、镜像本地性ImageLocality、污点容忍度TaintTolerance);3.择定(Select):选择得分最高节点,bind Pod到Node)
  5. Pod 的 DNS 流程?(Service创建后,CoreDNS会自动为其分配DNS记录;Pod内通过Service名访问:Service名.命名空间.svc.cluster.local → CoreDNS解析为Service ClusterIP → kube-proxy的iptables/ipvs规则转发到后端Pod)
  6. 如果一个 Pod 提示连接超时,对于 DNS 如何排查?(kubectl exec进入Pod:cat /etc/resolv.conf查看DNS服务器地址 → nslookup servicename.namespace.svc.cluster.local验证解析 → kubectl get svc -n kube-system检查CoreDNS是否就绪 → kubectl describe configmap coredns -n kube-system查看配置 → kubectl logs -n kube-system -l k8s-app=kube-dns查看CoreDNS日志)
  7. Scheduler 是干什么的?调度方式有哪些?打分机制?(将未调度的Pod分配到合适的Node;调度策略分为预选(Predicate过滤节点)和优选(Priority打分);打分因素:CPU/内存剩余量、节点亲和性、Pod亲和性、镜像本地性、污点容忍度等)
  8. ETCD 在 K8S 里起什么作用?(分布式高可用键值存储,保存整个集群的所有数据(Pod/Service/ConfigMap/各种资源元数据);是K8S的数据库,一旦丢失集群无法恢复;通常部署3或5个节点保证高可用;使用Raft共识算法保证一致性)
  9. kube-controller-manager 是做什么的?(运行各种控制器,持续监控集群状态并驱动达到desired state;包括DeploymentController(维持Pod副本数)、ReplicaSetController、NodeController(节点故障检测)、ServiceController(LoadBalancer创建)、EndpointController(Pod与Service关联)、GarbageCollector(删除有依赖的资源)等)
  10. Deployment 跟 StatefulSet 有什么区别?有状态和无状态的区别?(Deployment用于无状态应用,Pod之间完全等价可互换,Pod name带随机后缀;StatefulSet用于有状态应用,Pod有稳定唯一身份(hostname固定),有持久存储(PersistentVolume),部署和扩缩有序,更新有顺序保证)
  11. K8S 提供了哪些默认的业务负载类型?和 Deploy 平行的负载类型有哪些?(Deployment/StatefulSet/DaemonSet/Job/CronJob/ReplicaSet/HPA;DaemonSet确保每个或特定节点都运行一个Pod副本,常用于日志采集(Fluentd/Filebeat)、监控(node-exporter)、网络插件、存储守护进程)
  12. DaemonSet 控制器是干什么的?(在每个或特定标签节点上运行一个Pod副本;新节点加入集群自动部署Pod,节点删除时Pod自动回收)
  13. PV 和 PVC 的区别?(PersistentVolume(PV)是集群级别的存储资源,由管理员或StorageClass动态创建;PersistentVolumeClaim(PVC)是Pod对存储的请求(声明需要的存储大小和访问模式rwx/rwo),PVC绑定到PV后Pod通过PVC使用存储,解耦存储供应和使用)
  14. Ingress 和 Service 的区别?(Service是四层负载均衡,基于ClusterIP/NodePort/LoadBalancer,只能做TCP/UDP端口转发;Ingress是七层HTTP/HTTPS负载均衡,基于URL/Host路由,可以做基于路径/主机名/权重的路由,提供SSL终止和虚拟主机支持)
  15. Service 有哪些类型?(ClusterIP:默认,集群内部IP;NodePort:在每个Node上开放端口30000-32767;LoadBalancer:配合云厂商提供负载均衡器;ExternalName:将Service映射到外部域名CNAME;Headless:clusterIP=None,通过DNS解析直接返回Pod IP)
  16. Pod 处于失败状态,有哪些分析手段?(kubectl describe pod-n查看Events和Last State;kubectl logs-n–previous查看重启前的日志;kubectl get pod -o wide查看Pod所在节点和IP;kubectl top pod查看资源使用;kubectl exec进入容器内部排查)
  17. ConfigMap 和 Secret 有什么作用?区别?(ConfigMap存储非敏感配置(键值对/配置文件);Secret存储敏感信息(密码/令牌/证书 Base64编码);两者都以环境变量或Volume挂载方式注入Pod;Secret分三类:Opaque(通用)、kubernetes.io/tls(TLS证书)、kubernetes.io/dockerconfigjson(镜像仓库密钥))
  18. K8S 三种探针的区别?(livenessProbe(存活探针):检测容器是否存活,失败会杀死容器并重启;readinessProbe(就绪探针):检测容器是否就绪接收流量,失败从Service endpoints中摘除;startupProbe(启动探针):容器启动时使用,探测成功前禁用其他探针,适合慢启动容器)
  19. 了解过亲和性、反亲和性、污点吗?(节点亲和性(NodeAffinity):约束Pod调度到特定节点(required/preferred);Pod亲和性(PodAffinity):约束Pod和某些Pod在同一拓扑域(affinity同区,anti-affinity分布);污点(Taint)作用于节点,阻止Pod调度到该节点;污点容忍(Toleration)让特定Pod可以忽略污点调度过来)
  20. 两种调度策略 requiredDuringSchedulingIgnoredDuringExecution 和 preferredDuringSchedulingIgnoredDuringExecution 的区别?(required:硬限制,不满足则不调度;preferred:软限制,不满足时尽量满足;IgnoredDuringExecution表示运行时条件变化不再重新调度)
  21. 监控的时候内存使用哪个指标?(container_memory_working_set_bytes是实际使用的物理内存(含缓存),是判断是否需要扩容的黄金指标;memory.usage.current是容器视角的总内存使用;memory.limit是限制值)
  22. 压缩资源和不可压缩资源?(压缩资源(reclaimable):内存中的缓存页(Page Cache),在内存压力高时可被kswapd回收释放给应用使用;不可压缩资源(non-reclaimable):实际程序分配的内存(RSS),无法回收)
  23. Pod 达到 limit 时会出现什么现象?(CPU超过limit被节流(throttle),容器不会杀死但CPU使用会降到limit值以下;内存超过limit触发OOM Kill,容器会被杀死并重启;磁盘IO超过iops/bandwidth限制会被限流)
  24. 如何自定义 K8S 资源?(通过CRD(Custom Resource Definition)定义新的资源类型;编写自定义Controller监听CRD变化并采取行动;可以用Operator模式封装复杂的有状态应用(如MySQL Operator、Prometheus Operator))
  25. 如果两个 Pod 网络不通如何排查?(同一命名空间?→检查Service DNS是否解析正确→kubectl get endpoints确认Service后端Pod正常→检查网络策略(NetworkPolicy)→查看kube-proxy是否正常工作(iptables/ipvs规则)→检查CNI插件状态→同节点抓包确认→不同节点检查节点间网络和路由)
  26. 基于 K8S 怎么部署 EFK?(DaemonSet部署Fluentd采集所有Node日志,每个Node一个Fluentd Pod采集/var/log/containers/*.log;StatefulSet部署Elasticsearch集群存储和索引日志(3节点以上保证高可用);Deployment或StatefulSet部署Kibana提供可视化查询界面;用ConfigMap配置Fluentd解析规则)
  27. 微服务了解吗?(一种架构风格,将单一应用拆分为多个独立服务,每个服务可独立部署/扩展/更新;服务间通过轻量级HTTP/gRPC通信;需要服务注册发现/配置中心/熔断器/链路追踪等基础设施支撑)
  28. K8S 应用部署的两种方式?(yaml手动部署:kubectl apply -f xxx.yaml,逐个管理;Helm Chart:helm install package/xxx,一次性部署整套资源(Deployment/Service/ConfigMap等),便于版本管理和回滚)
  29. K8S 如何将应用的服务暴露给外部?(NodePort:Service在集群所有节点暴露端口,外部通过:访问;LoadBalancer:配合云厂商自动创建外部负载均衡器;Ingress:通过HTTP/HTTPS七层路由,配置域名和路径规则;ExternalName:映射到外部域名)
  30. Docker 日志了解吗?(容器日志默认输出到stdout/stderr,由Docker Daemon统一管理,docker logs查看;生产环境用Fluentd/Fluent Bit/Filebeat采集到ES;日志落盘策略在docker daemon.json配置max-size/max-file;K8S日志通过Kubelet写到/var/log/containers/*.log)
  31. 写出 Kubernetes 实现滚动更新的相关命令?(kubectl set image deployment/=:–record记录变更命令;kubectl rollout status deployment/查看滚动更新进度;kubectl rollout undo deployment/回滚到上一版本;kubectl rollout history deployment/查看历史版本)
  32. 你是怎么做健康检查的?(livenessProbe:httpGet/tcpSocket/exec;readinessProbe:httpGet检测服务是否就绪;startupProbe:容器启动完成前禁用liveness和readiness;探针参数:initialDelaySeconds/periodSeconds/timeoutSeconds/failureThreshold)
  33. 故障节点是怎么拆除的?(kubectl drain–ignore-daemonsets –delete-emptydir-data –force:驱逐该节点上所有Pod并标记为SchedulingDisabled;然后kubectl cordon:标记节点为不可调度;最后可以对该节点进行维护)
  34. 健康检查的内部是什么?主要检查什么东西?(Kubelet周期调用探针:HTTP GET请求指定路径返回200-399即成功;TCP Socket连接指定端口成功即成功;Exec执行Shell命令返回0即成功;连续失败failureThreshold次后触发重启/摘除)
  35. 如何将本地端口转发到 Pod 上?(kubectl port-forward pod/::将本地端口流量转发到指定Pod端口;常用调试kubectl port-forward svc/:测试Service;不是Ingress,是本地调试命令)
  36. 分享一个解决过的 K8S 问题?(镜像拉取异常慢的问题:拉取到最后一层(通常是小文件层)速度极慢;排查发现是云厂商CLB的MTU为1500,而容器网络的MTU为1450(Veth Pair开销),导致大包在这里被分片丢弃;统一切换到云厂商CNI插件使用HostNetwork模式,MTU统一解决)
  37. K8S 中最小的调度单元是什么?(Pod,一个Pod包含一个或多个共享网络/UTS/IPC命名空间的容器;共享Pause容器的基础网络栈;容器彼此localhost通信)
  38. 你觉得 K8S 是个怎样的东西?(现代云原生运维的核心平台,将面向终态的思想落地;屏蔽了运维的复杂度(调度/扩缩容/自愈),让开发者专注应用本身)
  39. K8S 和 Docker 的关系?(Docker是容器运行时(创建和管理容器);K8S是容器编排平台(管理多个Docker容器/多个主机);K8S通过CRI(Container Runtime Interface)对接Docker/Containerd/CRI-O,支持多种容器运行时)
  40. 你认为 K8S 不足的地方有哪些?(学习曲线陡峭(CRD/Operator/Helm/yaml);资源占用大(etcd/API Server消耗内存);生产环境配置复杂(RBAC/NetworkPolicy/ResourceQuota);版本升级风险高,需要滚动升级)
  41. API Server 的端口是多少?(6443,HTTPS(443端口),支持client-go/kubectl调用;8080端口(非安全端口)仅本地回环使用,生产禁用)
  42. Dockerfile 常见语法?(FROM指定基础镜像;COPY/ADD复制文件(ADD支持URL和tar);RUN执行构建命令;CMD/ENTRYPOINT定义启动命令;EXPOSE声明端口;ENV设置环境变量;WORKDIR设置工作目录;USER/ARG定义用户和构建参数)
  43. 有了 Docker 为什么要用 K8S?(自动化扩缩容、自愈机制、负载均衡、服务发现、滚动更新回滚、配置文件即代码GitOps;Docker只是容器运行时,无法管理多主机上的多个容器)
  44. K8S 的安装方式有哪些?(kubeadm:kubernetes官方安装工具,适合生产环境;kops:自动化创建AWS GCE上的K8S集群;kubespray:使用Ansible部署,支持多种平台;Rancher:图形化管理和部署K8S;二进制手动部署各组件)
  45. 客户端(集群内/集群外)访问 Pod 的过程?(集群内:Service名.命名空间.svc.cluster.local → CoreDNS解析为ClusterIP → kube-proxy的iptables/ipvs规则转发到后端Pod;集群外:通过Ingress/NodePort/LoadBalancer → NodeIP NodePort → Service → Pod)
  46. 怎么清理 K8S 集群里的所有垃圾资源?(kubectl delete pods –field-selector metadata.deletionTimestamp!=0删除正在删除的Pod;kubectl api-resources –all-namespaces -o name查看所有资源类型;推荐使用垃圾收集器GarbageCollector自动清理;kubectl prune清理orphaned资源)

中间件/基础设施

  1. 了解哪些中间件?分别用来做什么?(Redis:高性能内存数据库/缓存/消息队列;MySQL:关系型数据库;Kafka:分布式发布订阅消息队列;Apollo:配置中心;ES:全文搜索引擎)
  2. Apollo 是什么?(携程开源配置管理中心,支持配置变更推送热更新、多环境多版本管理、权限管理、灰度发布)
  3. Redis 是如何搭建的?主从、哨兵、集群?(主从:读写分离,从库同步主库数据;哨兵:在主从基础上加Sentinel监控主库故障,自动选举新主库,完成故障转移;Cluster:数据分片,16384个槽,每台Redis管理部分槽,实现分布式存储)
  4. Redis 数据结构有哪些?(String字符串;Hash哈希表;List列表;Set集合;ZSet有序集合;Geospatial地理位置;Stream流;Bitmap位图)
  5. Redis 锁是什么?常用关键字?怎么用?(SETNX/SET key value NX EX timeout:加锁;Del key:释放锁;Redisson封装了完整的分布式锁实现,WatchMulti等待多个key变化实现乐观锁)
  6. Redis 速度为什么快?(纯内存操作没有磁盘IO;单线程避免上下文切换和锁开销;IO多路复用(epoll)同时处理大量连接;C语言实现效率高;丰富的数据结构优化了不同场景)
  7. Redis AOF 和 RDB 两种备份机制有什么区别?(RDB:二进制快照保存某一时刻的数据,恢复快但可能丢失最近一次快照后的数据;AOF:日志追加记录每次写命令,丢失少但文件大恢复慢;AOF可配置always/everysec/no三种同步策略)
  8. 它们在数据完整性保护上有区别吗?(RDB全量快照可能丢失几分钟的数据;AOFeverysec模式最多丢失1秒的数据;AOFalways模式几乎不丢数据但性能影响大)
  9. 项目中的 Redis 用来做消息队列?具体是怎么做的?(Redis Stream实现消息队列,类似Kafka的功能,XRANGE查看消息;Pub/Sub发布订阅模式;List LPUSH入队列,BRPOP阻塞式出队列)
  10. Kafka 是什么?为什么说它高可用?(分布式发布订阅消息队列系统;高可用:副本机制ISR(In-Sync Replicas)多副本同步写入,leader故障后ISR中的follower被选为新leader;持久化到磁盘,支持消息回溯)
  11. EFK 怎么搭建?如何使用的?(Elasticsearch存储和索引日志;Fluentd采集日志并发送到ES;Kibana可视化查询分析;日志采集流程:Fluentd/Fluent Bit/Filebeat读取日志文件 → filter处理(grok正则解析)→ JSON化 → 输出到ES)
  12. 基于 K8S 怎么部署 EFK?(DaemonSet部署Fluentd采集所有Node日志,每个Node一个Pod采集/var/log/containers/*.log和/var/log/system.log;StatefulSet部署Elasticsearch集群存储日志(3节点以上保证高可用);Deployment或StatefulSet部署Kibana通过Ingress暴露给外部访问)
  13. 采集日志的规则?(Logstash/Fluentd的filter配置grok正则表达式从非结构化日志中提取关键字段(时间戳、level、service、message);多行日志用multiline处理(如Java堆栈);drop丢弃不需要的日志(如心跳日志))
  14. Kibana 采集了什么?(Kibana本身不采集数据,它是ES的可视化界面,展示ES中已存储的日志数据,通过DSL查询语言检索)
  15. 日志索引是多大的?如何规划的?日志索引是怎么分的?(按时间分索引daily/weekly/monthly,如nginx-access-2026.04.15;按服务名和环境命名如app-prod-access-2026.04;每个索引设置副本数和分片数如5分片1副本)
  16. 日志的格式是如何规定的?(统一JSON格式包含timestamp(时间戳)、level(日志级别)、service(服务名)、host(主机名)、message(消息内容)、trace_id(链路ID);禁止打印密码、密钥等敏感信息)
  17. Kafka 消费数据这块是你负责的吗?(确认范围,生产环境通常有专人或数据团队负责Kafka集群运维,开发者只管使用)
  18. 灰度发布用过吗?流量控制用什么?(Ingress Canary(金丝雀发布)权重路由如新版本10%流量观察;AB测试不同版本命中不同URL路径;Istio服务网格支持更精细的流量控制)
  19. Jenkins 功能有哪些?(CI/CD流水线构建:自动化构建、代码编译、单元测试、镜像构建、镜像推送、自动化部署;插件生态丰富:支持SonarQube代码审查、Artifactory制品库、Slack通知)
  20. 讲讲 CI/CD 发布流程(Git提交代码 → 触发CI Pipeline(拉取代码→编译→构建单元测试) → 推送镜像到镜像仓库并打tag → CD阶段读取镜像tag → 部署到测试环境 → 自动化测试 → 通过后部署到预发布/生产环境)
  21. 从 CI 结束到部署到 K8S 集群中间所有的流程是如何实现的?(CI产出镜像推送到Harbor/ACR镜像仓库;CD读取镜像tag,Jenkinsfile中配置kubectl set image deployment/xxx image=仓库/镜像:tag更新K8S Deployment镜像版本,实现滚动更新)
  22. 镜像的 tag 是怎么读的?如何知道部署的哪个版本?(git commit SHA前7位作为镜像tag,如v1.0.0-abc1234;CI build号作为版本号;语义化版本semver如1.2.3)
  23. CI/CD 发布环境备份怎么做?(Infrastructure as Code:所有K8S yaml配置文件存Git;镜像在镜像仓库有历史版本可回退;配置文件变化也有版本记录)
  24. 什么叫 CI?什么叫 CD?(CI持续集成:代码提交触发自动化构建和测试,尽早发现错误;CD持续交付:自动将通过测试的代码部署到测试/预发布环境;持续部署:自动将通过测试的代码部署到生产环境)
  25. CI/CD 的 git-ci.yaml 的关键命令?(git clone –depth=1(浅克隆);docker build -t 镜像:tag(构建镜像);docker push(推送镜像);kubectl apply -f deployment.yaml(部署))
  26. Ceph 多少台?怎么搭建的?(Cephadm/kubeadm/ansible/手动部署;最小生产环境3节点,每节点部署MON/OSD/MGR;OSD用于存储数据,MON监控集群状态,MGR提供管理界面)
  27. Ceph 部署过程有什么问题?(OSD无法加入:检查防火墙和端口;PG不健康:检查osd heartbeat;MON Quorum问题:检查时钟同步;网络延迟过大导致副本同步失败)
  28. Ceph 在哪里部署的?云还是物理机?(私有云或物理机房各有优缺点,物理机性能好,云上弹性伸缩)
  29. Ceph 副本用了几个?(通常3副本保证数据冗余;EC(纠删码)模式可以节省空间但恢复慢)
  30. Ceph 部署完的性能指标查过吗?怎么查?(ceph status:总览集群健康;ceph osd df:查看OSD使用率和性能;ceph pg stat:查看PG状态)
  31. Ceph 吞吐量大概多少带宽?(取决于网络,万兆网络单OSD可达100MB/s+,聚合链路更高)
  32. Ceph 的读写流程?(写入:客户端查CRUSH Map找到主OSD,直接写入主OSD,主OSD同步到副本OSD,收到多数副本确认后返回客户端成功;读取:客户端通常从主OSD读取)
  33. Ceph 的集群调优?怎么调的?调的什么?(OSD线程数(osd_op_threads);PG数调整(pg_num/pgp_num);缓存池配置;网络参数;内核参数;CRUSH Map调整数据分布)
  34. Ceph 出现故障的排查思路?(ceph health detail查看具体错误;ceph osd tree查看OSD是否down;ceph pg 1.XX查看PG状态;ceph log查看集群日志)
  35. GPU 利用率如何实现求和?三剑客?(DCGM:NVIDIA DCGM Exporter导出Prometheus格式指标;nvidia-smi:命令行查看当前GPU状态;Prometheus Operator配合node-exporter+PVC获取GPU指标;Grafana Dashboard展示汇总GPU利用率)
  36. Zookeeper 用在哪些场景?一致性怎么保证?选举机制?(配置管理、服务发现、分布式锁、Leader选举;Zab原子广播协议保证副本间一致性;选举机制:服务器启动时互相投票,得票过半数成为Leader)
  37. 了解链路追踪技术吗?(Skywalking:APM工具,支持追踪分布式请求链路;Jaeger:CNCF项目,支持追踪;Zipkin:Twitter开源,轻量级追踪;通过在HTTP header注入trace_id/trace_span_id在各个服务间传递)
  38. 监控软件有哪些?怎么用的?(Prometheus抓取指标数据存储TSDB;Grafana可视化Dashboard展示;Alertmanager告警收敛和路由;Zabbix传统监控,支持SNMP监控网络设备)
  39. MySQL 监控做过吗?(slow_query_log慢查询日志分析;performance_schema监控连接数QPS;Innodb_buffer_pool_hit_rate缓冲池命中率;主从复制延迟show slave status)
  40. Prometheus 自动发现原理?(kubernetes_sd:自动发现K8S中所有Service和Pod;consul_sd:发现Consul注册的服务;file_sd:监控主机通过文件配置targets;DNS发现:通过DNS记录)
  41. Prometheus 为什么用 TSDB?TSDB 的特点?(时序数据库Time Series Database;高效压缩相同时间戳的数据块;基于时间范围查询优化;支持标签查询和倒排索引)
  42. Prometheus 有几种数据类型?(Counter:只增不减的计数器;Gauge:可增可减的仪表盘;Histogram:直方图记录分布;Summary:百分位数统计)
  43. Ansible 和 playbook 了解吗?用来干嘛?(批量自动化配置管理工具,通过SSH批量执行命令;Playbook是YAML剧本,定义多台机器的操作步骤;ansible-playbook -i inventory web.yml)
  44. Ansible 在一百台机器上创建一个目录?关键命令?(ansible all -i hosts -m file -a ‘path=/opt/data state=directory mode=0755’)
  45. Shell 模块和 File 模块用哪一个?为什么?(File模块幂等,多次执行结果一致;Shell模块通用但非幂等,可能产生副作用,生产环境优先用File/Copy/Command模块)
  46. Ansible 的底层原理?(Control Node安装Ansible,通过SSH连接到受管主机,读取inventory配置,使用Python模块执行任务,Push模式)
  47. Nginx + Keepalived 的原理是什么?(Keepalived实现VRRP,两台Nginx配置相同VIP,Master负责转发,Backup监听Master状态,Master故障后VIP飘移到Backup Nginx成为新的Master;Nginx通过upstream配置健康检查自动摘除故障后端)
  48. Nginx 是用来做什么的?(反向代理隐藏真实服务器;负载均衡分发请求;静态资源服务;SSL终端卸载;缓存加速)
  49. HTTP 里 301 和 302 的区别?(301永久重定向,搜索引擎会更新索引;302临时重定向,搜索引擎暂时不更新索引)
  50. 老版本 Nginx 的惊群问题,现在还存在吗?(旧版Nginx多进程accept同一端口,新连接唤醒所有worker但只有一个能抢到造成无效唤醒;epoll的reuseport机制让每个worker监听同一端口但互不影响,新连接由复制的socket各自accept,解决了惊群问题)
  51. Nginx time wait 连接数量很多是什么原因?怎么处理?(大量短连接导致time wait堆积;解决方案:upstream配置keepalive长连接减少连接建立开销;设置tcp_tw_reuse=1复用time wait连接)
  52. Nginx 长连接了解吗?(upstream块中配置keepalive connections_num,开启长连接复用,避免每次请求都建立新TCP连接)
  53. TLS 1.2 和 TLS 1.3 的区别?(1.3更快:1-RTT或0-RTT首次连接只需1-RTT,再次连接0-RTT;1.3移除不安全的密码套件和压缩;1.3加密了更多握手消息)
  54. 如果证书到期了没有正确配置,会怎么样?(HTTPS站点无法访问,浏览器显示不安全警告,用户流失;服务间mTLS通信失败;证书到期前要续期,配置自动续期如cert-manager)
  55. 讲一讲你对企业监控体系的设计想法?(指标监控:Prometheus采集+Grafana可视化;日志收集:ELK(Elasticsearch+Logstash+Fluentd+Kibana);链路追踪:Skywalking/Jaeger;告警:Alertmanager+钉钉/企业微信/飞书收敛通知)
  56. 聊聊 Zookeeper 相关?(分布式协调服务,用于配置管理、服务发现、分布式锁、Leader选举;一致性问题通过Zab协议保证;数据存在内存中,配快照持久化)
  57. 什么是 Kafka?为什么高可用?(分布式发布订阅消息队列,支持副本机制ISR多副本同步写入,leader故障后ISR中的follower被选为新leader,保证数据不丢失)

数据库

  1. MySQL 聚簇索引是什么?(InnoDB的聚簇索引叶子节点存储完整的行数据而不是指针;主键索引就是聚簇索引,数据按主键顺序物理存储,所以查询快,但插入顺序要按主键)
  2. 聚簇索引范围查询会失效?(如果查询条件不是主键或聚簇索引列,范围查询会退化为全表扫描,因为聚簇索引只保证单值查询高效)
  3. 数据库回表了解吗?(先通过二级索引(辅助索引)的叶子节点拿到主键值,再回聚簇索引查完整行数据;回表次数多会影响性能)
  4. MySQL 事务控制是怎样的?(BEGIN开启事务;执行SQL;COMMIT提交事务;ROLLBACK回滚事务;SET AUTOCOMMIT=0关闭自动提交)
  5. 数据库 ACID 特性?详细解释原子性(ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability);原子性:一个事务要么全做要么全不做,如果中途失败所有操作回滚,不会留下部分结果)
  6. 讲讲 MVCC?(Multi-Version Concurrency Control,多版本并发控制;通过undo日志和ReadView实现快照读,每个事务看到的是某个时间点的数据快照,不同事务看到的数据版本不同,从而实现并发读写不互斥)
  7. SQL 注入是什么?常见危害?(将恶意SQL片段拼接进原本SQL中让数据库执行;危害包括:数据泄露(SELECT * FROM users WHERE name=’’ OR 1=1–’)、数据篡改、数据删除、绕过登录、甚至通过into outfile写webshell)
  8. SQL 查询怎么写?(SELECT A.B, C.D FROM A INNER JOIN C ON A.B=C.D WHERE A.X=’value’ ORDER BY A.T DESC LIMIT 10;复杂查询:分组统计(GROUP BY+HAVING)、子查询(EXISTS嵌套)、联合查询(UNION))
  9. 数据库的四种隔离级别?(读未提交(RU):脏读;读已提交(RC):解决脏读;可重复读(RR):解决不可重复读(快照读);串行化(SERIALIZABLE):表级锁,完全串行)
  10. MySQL 手写查询语句会吗?(给具体场景:分组统计算每个部门的平均工资SELECT dept_id, AVG(salary) FROM emp GROUP BY dept_id HAVING AVG(salary)>5000;子查询EXISTS嵌套查询部门人数大于10的员工姓名SELECT name FROM emp WHERE EXISTS (SELECT 1 FROM dept WHERE dept.id=emp.dept_id))
  11. 了解数据库吗?说说什么是索引?(索引是加快数据检索的数据结构,类似书的目录;MySQL InnoDB使用B+树作为索引结构,查询效率稳定O(logN),支持范围查询)
  12. 键值对数据库数据存储结构是什么?(B+树,磁盘友好的多叉平衡树,所有数据存在叶子节点,叶子节点之间双向链表连接,查询复杂度稳定O(logN),适合范围查询)
  13. B+树有什么特点?(多叉平衡树深度浅(通常3-4层)磁盘IO少;所有数据在叶子节点按顺序链表连接,支持范围查询;查询效率稳定都是O(logN);插入删除通过分裂合并维护平衡)
  14. B+树和红黑树在数据查找中的区别?(红黑树二叉深度深(更多层IO)适合内存中数据查找;B+树多叉深度浅适合磁盘存储数据查找,磁盘IO次数少;数据库索引用B+树因为磁盘IO是瓶颈)
  15. B+树叶节点通过单向链表还是双向链表进行连接?(双向链表,同时支持正反向范围查询)
  16. 左值索引、右值索引相关关系?(Leftmost Prefix:最左前缀原则,查询从索引最左列开始才能命中索引;右值索引用于ORDER BY排序优化)
  17. MySQL 有哪些备份工具?(mysqldump:逻辑备份,导出SQL语句,适合中小数据库;xtrabackup:物理热备份,不锁表,适合大数据库;MySQL Enterprise Backup:官方备份工具)
  18. 全量备份和增量备份有区别吗?(全量备份:备份所有数据,备份时间长,占用空间大;增量备份:只备份上次备份后变化的数据,备份快,占用空间小,恢复时需要全量加所有增量)
  19. MySQL 误删/误改数据怎么修复?(flashback工具利用binlog反向解析恢复;binlog日志恢复指定时间点;延迟从库让从库延迟复制主库数据,误操作后从从库恢复;删除后立即停止binlog备份当前binlog位置)

Go

  1. 协程是什么?和进程、线程的区别?(Goroutine由Go运行时Scheduling管理,创建成本极小(KB级);线程由OS管理,创建成本大(MB级);进程拥有独立地址空间,线程共享进程地址空间)
  2. GMP 模型是什么?(G(Goroutine协程)M(Machine内核线程)P(Processor上下文处理器,数量等于GOMAXPROCS);Goroutine绑定到P再被M执行;M运行G时只需保存寄存器,不需要切换地址空间,所以极快)
  3. Channel 是什么?(Goroutine间通信和同步的原语;make(chan T)创建无缓冲chan;make(chan T, buffer)创建有缓冲chan;chan<- value发送;<-chan接收;阻塞特性实现同步)
  4. 有缓冲管道和无缓冲管道的区别?(无缓冲chan:发送阻塞直到接收者准备好;有缓冲chan:缓冲区满则阻塞,空则接收阻塞;有缓冲非阻塞)
  5. defer 是什么?底层机制?执行顺序?(defer延迟执行语句,在函数返回前执行;通过链表管理多个defer,函数返回时逆序LIFO执行;常用于资源释放和错误处理)
  6. 多个 defer 的执行顺序?如果多个函数互相调用 defer 顺序设计?(同一函数内defer按栈逆序执行;被调用函数的defer先执行,caller defer defer执行顺序是从外到内再从内到外)
  7. Go 垃圾回收机制?(三色标记+混合写屏障,并发标记,标记阶段Stop The World时间缩短;Sweep并发清理)
  8. 切片和数组的区别?(数组长度固定,值类型,赋值拷贝整个数组;切片是引用类型,是数组的视图,长度可变,底层包含ptr(数组指针)+len(长度)+cap(容量)三个字段)
  9. Gin 的路由底层是怎么实现的?(基于压缩前缀树(Radix tree)的httprouter,路由匹配时从树根开始按路径前缀查找,比遍历所有路由快很多)
  10. Gin 的 Context 是什么?(封装HTTP请求和响应,c.Request/c.Writer提供请求参数获取、JSON渲染、重定向、中间件链式调用)

Java/Spring Boot

  1. Java 常用的框架有哪些?(Spring IOC/AOP框架核心;MyBatis半ORM持久层框架;Hibernate全自动ORM;SpringMVC WEB层框架;SpringBoot开箱即用自动配置)
  2. Spring Boot 自动装配怎么实现的?(spring.factories文件定义@Configuration配置类;Spring Boot启动时扫描META-INF/spring.factories和jar包中starter;@Conditional条件注解按需实例化Bean)
  3. Spring Boot 启动的时候会加载什么?(内嵌Tomcat/Jetty服务器;ApplicationContext初始化;配置类解析;Bean扫描创建初始化;事件监听器触发)
  4. Bean 的生命周期?(实例化(Instantiation)→属性填充(Populated)→初始化前(BeanNameAware/BeanFactoryAware/ApplicationContextAware)→初始化(InitializeBean/BeanPostProcessor)→初始化后→销毁(Destroy/DisposableBean))
  5. Bean 容器怎么管理的?底层做了什么?(IOC容器通过反射+工厂模式+三级缓存实现;一级缓存singletonObjects存成熟Bean;二级缓存earlySingletonObjects存提前暴露的Bean;三级缓存singletonFactories存BeanFactory)
  6. IoC 介绍一下?怎么实现的?(控制反转,将对象创建权交给容器管理,应用程序被动接收而不是主动创建;通过依赖注入(DI)实现:构造函数注入/setter注入/字段注入)
  7. DI 是什么?和 IoC 有没有关系?怎么实现的?(依赖注入,IoC的具体实现方式,通过反射/setter/构造函数将依赖的对象注入到当前对象)
  8. 循环依赖怎么解决的?(三级缓存:singletonObjects(一级)+earlySingletonObjects(二级)+singletonFactories(三级);A创建时发现依赖B,将A的半成品引用提前放入三级缓存;B创建时发现依赖A,从三级缓存拿到A的引用;解决的是”创建了一半”的A而非成品A)
  9. Java 里的事务怎么用的?(@Transactional声明式事务;propagation配置传播行为;isolation配置隔离级别;rollbackFor配置回滚异常类型)
  10. 如果事务没有成功,抛出什么异常?(默认只回滚RuntimeException(非检查异常);检查异常需要配置rollbackFor才会回滚)
  11. Arthas 用过吗?(阿里开源Java诊断工具,线上热修复/方法追踪/火焰图/jvm状态/线程分析/类加载情况)
  12. Java 为什么可以跨平台?JVM 相关了解吗?(Java程序编译成字节码(.class),由各平台JVM解释执行或JIT编译执行;JVM屏蔽了底层差异,字节码一次编译到处运行)
  13. 高并发状态下,锁怎么加?(分布式锁(Redis SETNX/Redisson/ZooKeeper);数据库乐观锁(version字段);数据库悲观锁(SELECT FOR UPDATE);synchronized/ReentrantLock本地锁)
  14. Java 都有哪些锁?(synchronized:对象锁,修饰方法/代码块;ReentrantLock:可重入锁,支持tryLock、公平锁;ReadWriteLock:读写锁,读读不互斥读写互斥;StampedLock:乐观读锁,性能更好;CAS:Compare And Swap,无锁算法;Volatile:轻量级可见性保证)
  15. synchronized 怎么实现的?能用在哪?(对象头MarkWord存储锁状态,偏向锁→轻量级锁(自旋)→重量级锁(OSMutex);可用在方法上(对象锁)、静态方法上(类锁)、代码块上(指定锁对象))

安全(护网/渗透)

  1. 渗透主要是做哪些东西?(漏洞发现、权限维持、信息收集、漏洞利用、横向移动、编写渗透报告)
  2. Kali 里做过什么操作?(nmap扫描(端口扫描/服务探测)、msfconsole渗透框架(漏洞利用)、hydra暴力破解、sqlmap自动化SQL注入、John the Ripper密码破解、Dirbuster目录扫描)
  3. 零信任的原理是什么?(Never Trust Always Verify,永不信任始终验证,最小权限原则,所有访问都要经过身份认证和授权,不管来源是内网还是外网)
  4. 什么是 DDOS 攻击?(分布式拒绝服务,通过大量肉鸡(僵尸网络)对目标服务器发送海量请求,耗尽服务器资源(带宽/CPU/内存),导致正常用户无法访问)
  5. 什么是防火墙?(部署在网络边界的访问控制设备,包过滤(基于ACL五元组)、状态检测(跟踪连接状态)、NAT(地址转换)、应用层过滤(DPI)、IDS/IPS)
  6. SQL 注入是什么?有哪些分类?怎么绕过?说一个语句?(分类:数字型(id=1 OR 1=1)、字符型(name=’admin’ OR ‘1’=’1’)、布尔型(基于true/false)、时间型(sleep()延迟);绕过:大小写(OR 1=1→oR 1=1)、注释(OR 1=1–)、编码(URL编码);最经典:’ OR ‘1’=’1)
  7. Sqlmap 用过吗?怎么爆一个库?(sqlmap -u “URL” –dbs获取所有数据库;–tables -D “库名”获取表;–columns -T “表名”获取列;–dump -C “列名” -T “表名”导出数据)
  8. 文件上传是什么?有哪些绕过方式?(Web上传点,绕过:黑名单绕过(aspx/phtml绕过)、大小写(.PhP)、空格/点windows特性(.php )、.htaccess/-user.ini解析漏洞、内容伪装(图片马)、%00截断)
  9. 有没有接触/部署过运维设备?安全设备?(WAF(Web应用防火墙,如ModSecurity);IDS/IPS(入侵检测/防御,如Suricata/Snort);堡垒机(运维审计,如JumpServer);数据库审计(DAM))
  10. 免杀有几种方式?(特征码修改(替换特征码位置);壳加密(加壳保护原程序);白名单绕过(利用可信程序如powershell.exe执行);代码混淆(改变代码形态))
  11. 会不会逆向?用哪些工具?(IDA Pro:反汇编和调试;Ghidra:NSA开源逆向工具;OllyDbg/x64dbg:调试用户态程序;jadx:Java反编译)
  12. 挖过哪些漏洞?(根据实际情况回答,如:SQL注入、XSS、CSRF、文件上传绕过、SSRF、越权访问、未授权访问、CVE编号等)
  13. 简历上的 CVE 漏洞是怎么挖的?(信息收集→漏洞验证→漏洞分析→编写POC/EXP→提交CVE申请→分配CVE编号)
  14. 公司组件中发现一个漏洞,你要怎么紧急处理?(1.评估影响范围和严重程度;2.隔离受影响系统(断网/下线);3.修复漏洞(升级版本/打补丁);4.验证修复是否生效;5.复盘和改进)

编程/脚本

  1. Python 用来做什么?写过什么东西?(爬虫(requests+BeautifulSoup)、数据处理(pandas/numpy)、自动化脚本(日常运维)、Web开发(Flask/FastAPI))
  2. 除了爬虫还写过什么?(Web后台服务(Flask API);数据分析处理脚本;自动化运维脚本(批量部署/配置管理);消息推送脚本(钉钉/企业微信Webhook))
  3. Java 做过什么?(蓝桥杯竞赛、课程项目(图书管理系统/选课系统)、实习项目)
  4. 写过哪些脚本?(Shell:批量部署/配置检查/日志分析/备份脚本;Python:自动化运维脚本(Ansible调用)、监控数据采集脚本)
  5. 最好的计算机语言是什么?(没有最好的语言,只有最适合的工具;Python胶水语言快速开发;Go高并发简洁;C系统级编程)
  6. Python 脚本检测磁盘使用率后发送告警的编写思路?报警线设置多少?(df -h读取磁盘使用率 → threshold=85判断是否超标 → 超标则调用钉钉Webhook POST告警消息 → crontab定时执行如*/5 * * * * python /opt/check_disk.py;生产环境85%-90%告警)
  7. 你们语言用的是 Java 还是 Go 还是什么?(根据项目实际情况回答,如:主力Go(高并发/云原生),Java(传统企业后台/Spring Boot),Python(工具脚本/数据处理))
  8. 有很多 IP,写一个 Shell 脚本探测不通的 IP 并输出?(for ip in 10.0.0.{1..254}; do ping -c 1 -W 1 $ip > /dev/null 2>&1 || echo “$ip is down”; done)
  9. 查询 var/log/message 前十行包含 error 怎么写?(head -n 10 /var/log/messages | grep error;或 grep -m 10 error /var/log/messages)
  10. 你觉得自己有开发力量吗?(有一定开发能力,能写自动化脚本和简单Web工具,但核心是运维能力)
  11. Python 和 Go 语言了解吗?熟悉程度?(Python:熟练,能写爬虫/数据分析/自动化脚本;Go:了解,能写并发程序和微服务)
  12. Python 是框架了解还是脚本了解?(主要是脚本,能用Flask写简单Web API,用pandas处理数据)
  13. Python 框架了解哪些?(Flask:轻量级Web框架;Django:全功能Web框架(ORM/Admin/模板);FastAPI:现代高性能API框架,自动生成OpenAPI文档)
  14. 未来有打算学习 Python 和 Go 吗?(已经在学,Go是云原生时代必修语言,Python用于数据处理和AI辅助运维)

综合(DevOps/运维/学生向)

  1. 自我介绍(我是谁、哪个学校、什么专业、为什么投这个岗位、优势和项目经历)
  2. 实习在哪找的?有没有 offer?(根据实际情况回答,如:牛客网/官网/内推,已拿到XX公司offer)
  3. 华为 ICT 大赛考什么?(网络/云计算/存储理论(选择题+填空题)+ 实操(网络配置/云服务部署/故障排查))
  4. 在学校哪门学科成绩最好?(诚实回答,可以是数据结构/操作系统/计算机网络等)
  5. 找工作倾向私企还是国企?(根据实际情况回答,各有优劣)
  6. AI 在交付运维上能怎么用?(智能告警(LLM分析告警原因)、异常检测(时序数据异常识别)、AIOps自动化修复、知识库问答(运维知识沉淀))
  7. 印象最深的项目是哪个?(选择一个最能体现能力的项目,从背景/挑战/解决方案/成果角度描述)
  8. 假设新增一个功能,怎么设计?(需求分析→技术选型→架构设计→接口设计→数据库设计→安全考虑→部署方案)
  9. 假设并发量上来了,怎么设计?(缓存(Redis)→读写分离→CDN加速→负载均衡→微服务拆分→消息队列消峰→数据库分库分表)
  10. 为什么来到这个公司?(行业前景/技术氛围/规模/业务方向,根据实际情况说2-3点)
  11. 如何看待运维岗位?(保障服务稳定、自动化运维减少人工介入、devops趋势下需要全栈能力)
  12. 你学的是软件工程,为什么选择运维?(对Linux/系统管理感兴趣,喜欢处理实际问题,在学习过程中发现自己更适合运维方向)
  13. 作为运维工程师,需要具备什么核心能力?(Linux基础/脚本能力/监控排障/自动化工具(Ansible/Puppet)/云原生(K8S/Docker)/网络基础)
  14. 与项目组的人发生矛盾怎么处理?(私下沟通了解原因,求同存异,找上级协调,避免影响项目进度)
  15. 对加班怎么看?(可以接受适度加班赶项目,但反对无效加班,注重效率)
  16. 对售后 24 小时待命怎么看?(可以接受值守班次轮换,但需要明确响应时效和补偿机制)
  17. 客户问一个完全不知道的问题怎么处理?(承认不了解,表示会跟进研究后回复,记录问题反馈给团队,避免乱说)
  18. 职业规划是什么?(近期:深入运维技术栈(K8S/自动化);中期:向SRE/DevOps发展,具备独立负责项目能力;远期:技术专家或技术管理)
  19. 认为这个岗位哪些能力特别重要?(问题排查能力(快速定位根因)、自动化能力(减少重复工作)、沟通能力(跨团队协作))
  20. 对毕业后的职业规划?(继续深耕运维/SRE方向,提升云原生和平台化能力)
  21. 这个岗位是做什么的?(根据实际情况描述,如:负责K8S集群运维、保障业务稳定性、建设自动化运维平台)
  22. 你觉得实习期间欠缺比较多,怎么看?(承认不足,说明已经在学习和改进,运维本身就需要大量实战经验积累)
  23. 最有成就感的事情?(解决了一个棘手的线上故障/完成了自动化工具的开发/从零搭建了一套系统)
  24. 写的脚本如果想在 K8S 里定时运行,怎么操作?(Kubernetes CronJob:编写cronjob yaml,schedule字段配置cron表达式,kubectl apply -f xxx.yaml创建)
  25. 用 AI 写脚本或自动化任务,如何确保不会出错?(代码审查(人+AI双重复核)、测试环境验证、灰度发布、分阶段回滚)
  26. 一个服务怎么确保上线不出错?部署过程中出错怎么办?(自动化测试(单元/集成/E2E)→灰度发布(先10%流量)→监控观察→全量发布;出错立即kubectl rollout undo回滚上一版本)
  27. 觉得运维最重要的是什么?(稳定性(保障业务连续性)、快速排障能力(减少MTTR)、自动化(减少人工犯错))
  28. 个人性格中的缺点和优点?(优点:细心(能发现细节问题)、抗压(能handle紧急故障)、好学(持续学习新技术;缺点:有时候过于追求完美导致效率降低)
  29. 游戏商城充值接口无法访问,但支付监控面板正常,排查思路?(DNS:nslookup充值服务域名→端口:telnet充值服务端口→后端:检查充值服务进程/日志→网络: traceroute/mtr排查网络延迟→数据库:检查充值订单库连接→监控:充值接口P99延迟是否飙升)
  30. 容器服务 CPU 使用率突然飙升至 80%,接口请求变慢,排查思路?(docker stats确认哪个容器→top/vmstat确认是CPU还是IO→kubectl logs查看应用日志→应用profile(pprof)→是否有恶意请求/死循环/GC压力)
  31. 服务器资源飙升排查思路?(top看CPU和内存占用→vmstat 1看IO和上下文切换→iostat -x看磁盘IO→sar -n DEV看网络流量→定位到进程后分析是正常业务还是异常)
  32. 做过服务器资源飙升后的优化吗?为什么想到这么做?(根据实际情况回答,如:Mysql慢查询→加索引;Java GC频繁→调整堆大小/优化代码;Python GIL→多进程;K8S限流→配置资源限制)
  33. 服务器硬件了解多少?自己上手过吗?(装过系统(CentOS/Ubuntu)、配过IP和网关、上下架过服务器、换过硬盘和内存)
  34. Redis 缓存三兄弟?应对思路?(雪崩:大量key同时过期→解决:过期时间加随机值;穿透:恶意请求不存在的key→解决:布隆过滤器;击穿:热点key过期→解决:互斥锁/永不过期+异步更新)
  35. 实习中负责的容器化部分?(Docker化Spring Boot应用、编写Dockerfile、配置镜像构建、编写K8S Deployment yaml、实现滚动更新和回滚)
  36. 为什么觉得自己学习能力强?有数据支撑吗?(快速掌握K8S并应用到项目、半个月内上手Prometheus+Grafana、从零搭建ELK日志系统,配合做过的项目数量说明)
  37. 为什么觉得自己抗压能力强?有数据支撑吗?(护网期间高压连轴转处理多个应急事件、春节值班保障系统稳定)
  38. 跨部门沟通能力怎么体现?(协调网络团队和安全团队推进项目、和开发团队对齐监控需求、和客户沟通故障报告和解决方案)
  39. CI/CD 了解多少?自己上手过吗?(了解GitLab CI/Jenkins pipeline,CI阶段完成构建单元测试,CD阶段部署到K8S,用过kubectl rollout命令)
  40. 你在工作中出现过哪些故障?怎么处理的?(根据实际情况,如:硬盘故障导致服务中断→切换备用机→数据恢复→故障复盘;网络抖动导致接口超时→启用限流熔断→排查网络→添加监控)
  41. 上家公司 K8S 中有多少节点?集群规模多大?上面都跑哪些服务?(根据实际情况回答,如:20节点,生产环境运行微服务50+,包括订单/支付/用户/商品等核心服务)
  42. Zabbix 都监控哪些指标?(CPU/内存/磁盘/网络/端口/进程存活/MySQL连接数/Redis内存)
  43. 如果监控系统出现卡顿你要怎么处理?(排查Prometheus本身(资源不足/长查询)→优化查询(减少标签数量/优化PromQL)→减少抓取间隔/数据量)
  44. 如果一个重要的服务进程在后台怕它崩掉怎么办?(守护进程(supervisor/systemd)自动拉起;心跳机制定时检查;Nohup后台运行;restart=always容器重启策略)
  45. 在实习中如何从一个课题到实现?中间遇到什么问题?如何解决和思考的?(课题背景→技术调研→方案设计→实现→遇到的问题(如性能瓶颈/兼容性问题)→怎么解决→最终成果)
  46. 数据追踪数据存在哪?(Elasticsearch:日志和追踪数据;ClickHouse:业务指标和AP查询;Kafka:流式数据缓冲)
  47. 项目中负载均衡怎么做的?(入口:Nginx/LVS做四层分发;内部:K8S Service做七层负载;外部:云厂商CLB)
  48. 你选择运维工程师(SRE/DevOps 方向)岗位的原因是什么?(对系统稳定性有追求,喜欢解决实际问题,云原生趋势下运维是核心能力)
  49. 你未来 3-5 年的职业规划是什么?(近期:深入K8S/云原生;中期:具备独立负责业务线运维能力;远期:SRE专家或DevOps平台架构师)
  50. 你对重复的工作是怎样的看法?(自动化消灭重复,脚本化日常工作,专注于更有挑战性的问题)
  51. 如果你的导师错了,你会怎么样?(私下沟通,用事实和数据说服;如果确实有问题但无法说服,会向上级反馈)
  52. 如果你的导师给你布置了过多无法完成的任务,你会怎么样?(先沟通优先级和可行性;如果确实无法完成,申请延期或寻求资源支持)
  53. 你更擅长什么?(系统运维/自动化/监控排障,根据自己的实际情况回答)

AWS/云

  1. AWS 怎么拉取镜像到 ECS 上运行?具体命令?(docker pull image:tag拉取镜像;ecs-cli缘docker run部署到ECS;或者通过任务定义(task definition)配置容器,ECS调度器分配到EC2实例运行)
  2. 私有云和公有云都部署了哪些业务?(私有云:核心业务(订单/数据库)和敏感数据;公有云:开发测试环境、弹性业务、CDN加速)
  3. 用过哪些厂商的公有云云产品?(阿里云(ACK/ECS/SLB/RDS/Redis);腾讯云(CVM/CLB/CBS);华为云(CCE/ECS/EVS);AWS(EC2/S3/Lambda))

Agent/AI(科研/大模型)

  1. Agent 相关的概念?(自主决策+工具调用,大模型驱动Agent执行任务,ReAct模式(Reasoning+Acting),Tool Use让LLM调用外部工具)
  2. MCP 了解吗?(Model Context Protocol,大模型与外部工具交互的协议,标准化工具描述和调用方式,让LLM能调用各种外部工具)
  3. Skill 了解吗?(Agent技能定义,描述工具能力(名称/描述/参数/返回格式),Agent根据用户意图选择合适的Skill执行)
  4. 上下文太长怎么办?(摘要:LLM生成摘要压缩上下文;RAG:检索相关片段注入上下文;滑动窗口:丢弃旧信息保留最近;迭代摘要:多轮对话后做摘要)
  5. 介绍一下 Transformer?(自注意力机制(Self-Attention)计算序列内每个位置对其他位置的依赖关系;编码器-解码器架构;并行计算能力强,替代RNN解决长序列依赖问题)
  6. QKV 层为什么要做根号再除以一个数,再加 Softmax?(缩放因子(Scale)√dk,防止点积结果过大导致Softmax梯度消失/爆炸,保证训练稳定)
  7. 什么是 RAG?具体流程?(Retrieval-Augmented Generation,检索增强生成:Embedding模型将文本向量化→向量数据库检索相似片段→将检索结果注入LLM上下文→LLM基于检索内容生成答案)
  8. RAG 如何应用到具体业务?(知识库问答(企业内部门文档/产品手册);客服机器人;代码检索和推荐;法律/医疗文档分析)
  9. 如何克服大模型的幻觉?(RAG事实核查:检索结果做事实校验;提示工程:要求模型不确定时回答”不知道”;CoT思维链:让模型逐步推理;fine-tuning垂直领域数据减少错误输出)
  10. 手撕代码:打印螺旋矩阵,不能开辟 O(mn) 的空间,直接输出(模拟走迷宫,四边界收缩,时间O(mn)空间O(1))
  11. 了解 Hadoop 吗?(分布式存储(HDFS)+计算框架(MapReduce),适合海量数据的批处理,HDFS将数据分块存储多副本保证可靠性)
  12. 了解大数据吗?Hadoop 生态有哪些组件?(HDFS分布式存储;MapReduce批处理;YARN资源管理器;Hive数据仓库(SQL查询);Spark内存计算(比MapReduce快10-100倍);HBase列式NoSQL;Kafka消息队列;Flink流计算)

最后更新:2026-04-15