-
Notifications
You must be signed in to change notification settings - Fork 1
P 21 SA
熟练安装 Linux 系统(Ubuntu、RedHat),理解不同的发行版的区别。
掌握基本的 Linux 操作命令和工具,如 sed / awk 等。
熟悉最常用的 HTTP 应用层网络协议,能够使用工具调试 HTTP 应用程序。对其他基本的网络服务(例如 DNS)的运作方式有所了解。了解 IP、TCP、UDP 等网络协议,能够对其进行简单的编程。了解以太网的基本原理。
了解 Bash,可以通过编程来减少重复劳动,同时遵守公司的代码风格规范。
熟练使用技术部及运维部的基本工具,例如 GitCorp、Zeus等。
了解部分基础设施使用的系统软件及其安装和配置方法,例如
- Nginx / Apache
- PHP-FPM
- MySQL
- Memcached / Redis
- JDK / JRE
了解 APF v2 的环境与部署。
理解并遵守公司运维操作规范及流程,能够胜任日常维护工作,包括服务器生命周期的管理、机房的例行巡检、系统及软件的配置修改等。
熟悉 Linux 系统中各种文件系统、系统与网络参数的配置,理解各自的优点与缺点,能够提出建设性的意见。熟悉系统软件(nginx、squid、memcached 等)的特性,理解各种配置的优点与缺点,能够提出建设性的意见。
熟悉 deb、rpm 的软件包的制作与管理。熟悉 Ansible 配置管理脚本的编写。编写的脚本或配置可测试。
了解公司的基本技术架构以及几个主要模块,能够通过内部工具(例如 Knowing)了解业务程序的运行情况。
了解基本的 PHP 编程,理解 PHP / Java / Python 的运行环境。
可以使用软件和工具排查系统问题,包括网络问题、软件配置问题等,例如
- sysstat / netstat 等
- top / htop / iotop / iftop 等
- strace / ltrace / perf 等
- curl / netcat 等
- lsof 等
有良好的工作习惯,例如做事前先设计做法步骤。
使用过多种配置管理工具,理解它们的优点与缺点。熟悉业界自动化运维的合理用法、常用工具。
具有一定的设计能力,可以合理地开发、改进公司的运维工具。
对提高网站的吞吐量有实践经验。熟悉 PHP、Java 应用服务器的特性。熟悉整个网站的技术栈,包括用户网络、第三方 CDN 的页面缓存、负责均衡、应用服务器、后台脚本、缓存数据、持久化等。熟悉各个层次的应用软件,例如
- LVS / Nginx
- Varnish / Squid
- PHP / PHP-FPM / JVM
- nohup / crontab job / supervisord
- Memcached / Redis
- RabbitMQ
- MySQL
了解虚拟化、了解 Linux 网络及内核。
掌握 Python 编程语言。
熟悉或负责以下公司运维基础设施中之一
- 数据中心网络基础设施
- 自动化服务器配置管理
- DNS
- 负载均衡
- 前端动态与静态缓存
- 监控与报警
熟悉公司网站整个技术栈及实现的优缺点。
能够将多个运维自动化系统结合起来,合理地改进工作流程与规范,例如 Zeus / APC / 基础监控。
具备良好的开发能力,熟悉 Python / Ruby 语言( Perl 可选),能够使用 C 语言解决或改进问题,合理地开发运维接口,提供业务团队使用。
对 Linux 操作系统,应用软件有丰富的调优实战经验,能通过设计、改进服务组件和网站架构,提高服务、网站的可用性;同时能够考虑开发环境、测试环境与生产环境,例如在合理范围内消除单点故障隐患,解决性能瓶颈问题。
深入理解网络( TCP / UDP 各种常用协议等)、文件系统,并有相关调优经验。
对多核 CPU 系统、分布式系统以及集群有应用实战经验。
精通 Linux 系统,深入理解操作系统内核理论与实现。熟练使用 C 语言,开发、改进系统软件。