当前位置:首页>Linux>Linux运维进大厂?这份P6+级“捡垃圾”技术清单,值3万月薪

Linux运维进大厂?这份P6+级“捡垃圾”技术清单,值3万月薪

  • 2026-10-11 09:49:21
Linux运维进大厂?这份P6+级“捡垃圾”技术清单,值3万月薪

一、Linux 系统内核与性能

  1. 进程管理

    1. ps、top、htop、pidstat 查看进程状态  

    2. kill、pkill 信号处理(SIGTERM、SIGKILL、SIGHUP)  

    3. nice、renice、taskset 调整优先级和CPU亲和性  

    4. Cgroup v2:限制进程的CPU、内存、IO(用 cgcreate、cgset 或直接写 /sys/fs/cgroup)  

    5. strace 追踪进程系统调用,ltrace 追踪库函数  

  2. 内存管理 

    1. free、vmstat、/proc/meminfo 分析内存使用(区分 buffers/cached)  

    2. smem 查看PSS/USS  

    3. OOM 机制:oom_score、oom_adj、dmesg 查看 OOM Killer 日志  

    4. swap 分区调优(swappiness、vm.vfs_cache_pressure)  

  3. 磁盘与文件系统

    1. df、du、lsof(找出删除但仍被进程占用的文件)  

    2. xfs_info、dumpe2fs 查看文件系统参数  

    3. 磁盘性能测试:fio、iostat、iotop

    4. RAID 软硬配置(mdadm、/proc/mdstat)  

    5. 逻辑卷管理(LVM):pvcreate、vgcreate、lvcreate、resize2fs 扩容  

  4. 系统性能全面排查

    • bpftrace 编写单行命令或脚本

    • bcc 工具集(funccount、trace、biolatency、runqlat)  

    1. 综合工具:dstat、nmon、perf top

    2. 火焰图生成:使用 perf script + FlameGraph 脚本  

    3. eBPF工具链:  

    4. 内核参数调优:sysctl -a 找到与 net.core, vm.dirty_ratio, kernel.sem 等相关的参数并解释其含义  

二、网络协议与排查

  1. TCP/IP核心技术

    1. 完整三次握手/四次挥手过程,能通过 tcpdump 抓包看到每个标志位(SYN、ACK、FIN、RST)  

    2. 拥塞控制算法:reno、cubic、bbr 切换与效果对比(sysctl net.ipv4.tcp_congestion_control)  

    3. TCP 参数调优:tcp_tw_reuse、tcp_tw_recycle(注意已废弃)、tcp_fin_timeout、tcp_keepalive_*

  2. 网络排查命令

    1. 查看连接状态:ss -tunap

    2. 测试带宽:iperf3

    3. 路由跟踪:traceroute、mtr

    4. DNS 诊断:dig +trace、nslookup、host

    5. HTTP 压测与调试:curl -w、ab、wrk

  3. 抓包分析能力  

    1. tcpdump 过滤表达式(host、port、tcp[tcpflags]、vlan)  

    2. 将抓包文件导出用 Wireshark 分析:过滤 http.request、tcp.analysis.retransmission

    3. 识别重传、重复 ACK、零窗口、SACK 情况  

  4. 负载均衡与反向代理

    • 配置 upstream(加权轮询、ip_hash、least_conn)  

    • 健康检查(主动+被动)  

    • 限流(limit_req_zone、limit_conn_zone)  

    • 日志格式自定义与日志切割(logrotate)  

    1. Nginx:  

    2. LVS:NAT、DR、TUN 三种模式区别与配置(ipvsadm)  

    3. HAProxy:ACL、后端服务器权重动态调整  

三、自动化与开发(代码能力)

  1. Shell 编程(生产级)

    1. 特殊变量 $?、$@、$#、$$

    2. 条件测试 [ -f ]、[[ ]]、&& ||

    3. 循环、函数、trap 信号捕获  

    4. 文本处理三剑客:grep(-E、-P 扩展正则)、sed(增删改查)、awk(按字段统计、关联数组)  

    5. 并发控制:xargs -P、wait、命名管道  

  2. Python(必备语言)

    1. 常用模块:os、sys、subprocess、argparse、logging、yaml、json、requests

    2. 写一个 200 行以上的运维脚本(例如批量 ssh 执行命令并收集结果)  

    3. 了解 asyncio 或 concurrent.futures 实现简单并发  

  3. Go(加分,趋势)

    1. 能编译、运行简单的 Go 程序,理解 goroutine 和 channel

    2. 阅读 Kubernetes 或 Prometheus 的 Go 代码片段  

  4. 配置管理(IaC) 

    • 定义 provider(AWS/阿里云)、resource、data source  

    • 掌握 terraform plan、apply、state 管理  

    • 编写 inventory(静态+动态)  

    • Playbook 中使用变量、循环、条件、handlers、roles  

    • 常用模块:shell、copy、template、lineinfile、systemd、docker_container

    1. Ansible:  

    2. Terraform:  

  5. CI/CD流水线

    1. Jenkins:声明式 pipeline(agent、stage、steps、post),集成 Git、Maven、Docker、K8s  

    2. GitLabCI:.gitlab-ci.yml 编写,使用 cache、artifacts、only/except、rules

四、容器与编排(K8s 必备)

  1. Docker

    1. Dockerfile 优化:多阶段构建、减少层、使用 .dockerignore

    2. 镜像仓库操作:docker login、tag、push、pull

    3. 网络模式:bridge、host、none、container、macvlan  

    4. 存储卷:-v、--mount、volume 驱动(nfs、local)  

    5. 资源限制:--cpus、--memory、--memory-swap

  2. Kubernetes(重点)

    • 节点 NotReady 原因(kubectl get nodes、kubectl describe node) 

    • Pod 一直 Pending(资源不足、PV 绑定失败、污点容忍)  

    • CrashLoopBackOff(查看日志、事件、kubectl debug)  

    • kubectl get 及常用输出列(-o wide、-o yaml、-o json)  

    • kubectl describe 查看事件  

    • kubectl logs(带 -f、--previous)  

    • kubectl exec 进入容器  

    • kubectl port-forward 用于调试  

    1. 核心对象:Pod、Deployment、StatefulSet、DaemonSet、Service、Ingress、ConfigMap、Secret、PV/PVC、Namespace 

    2. 排查命令:  

    3. 调度与亲和性:nodeSelector、nodeAffinity、podAntiAffinity  

    4. 网络策略:NetworkPolicy(限制 namespace 内/间访问)  

    5. 存储:CSI 驱动、动态 PV(StorageClass)  

    6. 安全:RBAC(Role、RoleBinding、ClusterRole、ClusterRoleBinding)、ServiceAccount  

    7. 包管理:Helm(chart 结构、values.yaml、模板函数)、Kustomize  

    8. 高级排查:  

    9. Operator:了解 CRD、operator-sdk 基本流程  

  3. 服务网格(加分)

    1. Istio:安装、注入 sidecar、配置 VirtualService/DestinationRule(权重路由、故障注入)  

    2. 使用 Kiali 观测调用图  

五、可观测性体系

  1. 监控与指标

    • 配置 target(静态、基于文件、consul)  

    • PromQL 编写(rate、histogram_quantile、聚合运算)  

    • Alertmanager 配置路由、接收器(钉钉、企业微信、PagerDuty)  

    1. Prometheus:  

    2. Grafana:创建 dashboard、面板变量、数据源设置、告警  

  2. 日志系统

    • Filebeat 或 Fluentd 作为采集器  

    • 日志解析:Logstash grok 或 Fluentd regexp  

    • Elasticsearch 索引模板、生命周期管理(ILM)  

    • Kibana 创建 Discover、Visualize 面板  

    1. ELK / EFK:  

  3. 分布式追踪  

    1. Jaeger 或 SkyWalking 部署  

    2. 注入 OpenTelemetry SDK(可以仅做概念实验)  

    3. 理解 Trace、Span、Baggage  

六、数据库与中间件

  1. MySQL

    1. 备份恢复:mysqldump、xtrabackup

    2. 主从复制(异步/半同步):CHANGE MASTER TO,处理 Slave_IO_Running 故障  

    3. 慢查询分析:开启 slow_query_log,用 pt-query-digest 分析  

    4. 高可用:MHA、Orchestrator 或 Group Replication(概念了解) 

  2. Redis

    1. 数据结构使用场景(string、hash、list、set、zset)  

    2. 持久化:RDB 和 AOF 配置与恢复  

    3. 高可用:哨兵模式、Redis Cluster 搭建与扩容  

    4. 性能排查:INFO 命令、SLOWLOG、redis-benchmark

  3. 消息队列

    1. Kafka:主题、分区、副本机制;生产/消费命令行工具(kafka-console-producer、consumer)  

    2. 理解 ISR 同步机制、offset 提交  

七、云计算与成本控制

  1. 至少一个云厂商的实战

    1. 阿里云:ECS、VPC、SLB、RDS、OSS、ACK  

    2. AWS:EC2、VPC、ELB、RDS、S3、EKS  

    3. 能通过 CLI(aliyuncli / awscli)创建和销毁资源  

  2. 成本优化技术

    1. 预留实例 vs 按需 vs 竞价实例  

    2. 使用标签分账  

    3. 云监控:设置账单阈值报警  

八、安全加固

  • 系统安全:  

    • SSH 配置(禁止 root 直接登录、仅允许密钥、更改端口、AllowUsers)  

    • fail2ban 防暴力破解  

    • 文件权限(SUID、SGID、Sticky Bit、umask)  

  • 应用安全:  

    • SSL/TLS 证书自动化(certbot 或 acme.sh)  

    • Nginx 配置 HTTPS(HSTS、CSP)  

  • 审计:  

    • auditd 监控关键文件(如 /etc/passwd、/etc/ssh/sshd_config)  

九、综合实战能力自检

你可以用以下任务来检验自己:

  • 不用 help 命令,5 分钟内用 tcpdump 抓取访问某端口的所有 SYN 包并保存文件。  

  • 手写一个 Ansible role,用于部署一个 nginx 容器(docker 方式),并配置反向代理到后端。  

  • 排查过真实的生产环境高 CPU 负载问题,知道先用 top + perf top 再定位到代码行。  

  • 在 K8s 集群中,当一个 Pod 无法访问另一个 Service,能通过 dig、curl、tcpdump 在 Pod 内找出问题(DNS 或 网络策略)。  

  • 写出 PromQL 查询过去 5 分钟每秒请求增长率,并按接口分组。  

  • 使用 Terraform 在云上创建一个 VPC + 子网 + 一台 EC2,并部署一个简单的 Web 服务。  

最新文章

随机文章