sre

SRE

SRE是什么呢 Site Reliability Engineer

中文就是运维

运维岗位三步走

  1. 收集简历

  2. 整理快速入门资料

  3. 收集面试题

1. 收集简历

1.1 简历

image-20240630202510888

1.2 简历

1、负责Linux平台下的系统应用部署以及管理;
2、负责系统性能分析,优化,问题跟踪排查等相关工作;
3、负责Web容器以及MySQL数据库日常运维及故障解决;
4、负责主流应用软件的安装、调试与维护(如JDK、Tomcat、Redis、Nginx、MySQL主从等);
5、负责日常监控…。

提高了网站和系统性能, Nginx处理静态请求,Tomcat处理动态请求,实现动静分离和session同步;
我的职责
1、安装 配置tomcat,测试服务正常启停工作;
2、更改环境变量;
3、安装 配置nginx,测试服务正常启停工作;

项目时间:2014-07 - 2017-02

项目名称:搭建LNMP平台并部署Zabbix监控服务器

项目描述:
项目介绍
搭建Linux+Nginx+MySQL+PHP平台并部署Zabbix监控服务
项目实施:1、在监控服务器上搭建LNMP平台
2、部署Zabbix监控服务器用于监控另一台服务器数据
3、基于Zabbix监控服务器上利用自带监控模板和自定义模板监控服务器数据

了解kvm及docker 等虚拟化技术
zabbix等监控软件安装配置,能够配置对web,数据库,负载均衡,存储等服务器进行监控
linux系统安全及其防火墙iptables部署优化,并根据生产环境具体要求进行配置
熟悉mysql基本的sql语句,日常应用调优,对mysql存储过程有一定了解
mysql数据库的日常定时备份和(增量)恢复
mysql数据库应用,包括主从同步,主主同步集群的部署及读写分离的实现和配置
lvs+keepalived四层负载均衡集群及haproxy,nginx七层负载均衡与反向代理构建及优化
lnmp,lamp架构,tomcat,php等Web服务的构建及优化
shell编程,熟练使用shell及其文本处理工具grep,awk,sed,cut,tr等进行服务器日志分析,监控,数据备份等日常工作
部署ssh key结合rsync备份和文件分发解决方案,了解puppet分发部署
nfs共享存储的部署应用及rsync,inotify,等数据(实时)同步工具的使用
centos/rhel等linux系列系统安装及性能调优,安全优化

2. 快速入门资料

https://github.com/taogen-docs/resources-of-learning/blob/master/_cs-software-development-and-engineering.md

https://changchen.me/blog/20180403/impressions-of-google-sre/

3. 面试问题

Https: https://www.cnblogs.com/cxuanBlog/p/12490862.html

3.1

OSI七层模型说一下
路由器工作在哪一层
交换机工作在哪一层
说一下DNS、DHCP
讲一下VLAN是什么
Fat32和NTFS的区别 不知道
一个文件4G传输中途失败了是什么原因 不知道
AD域的五种策略 不知道

链接:https://www.nowcoder.com/feed/main/detail/01b8e13676ad4a87a3b4416f6e76f604?sourceSSR=search

3.2

讲一下NAT
TCP和UDP的区别
虚拟专用网络是什么

3.3

2.为什么想从事运维呢?

3.Linux 内核都有哪些呢?

  1. Linux开机的过程

  2. Linux的目录结构是什么?

  3. Linux删除/tmp目录会有什么结果?

7.数据库范式有哪些?

8.说一下你的实习经历

9.实习当中你最大的收获是什么? 10.你有什么想问的吗?

3.4

TCP三次握手

python传参

linux常见指令

top查看内存是哪个

数据库会么?

python你在项目中什么有用过么

Linux在项目中有用过么

交换机学校有学过么?有配置过么?

你所了解的运维体系

普罗米修斯有试着用过吧

3.5

项目介绍。其中用到的算法有哪些,着重讲一下。

​ 项目开发过程中遇到的难点,怎么解决。

​ 项目中用到的技术是什么。

​ 深度学习模型在运维上可以怎么应用上去。

​ 主键,外键,候选键。

​ 索引存储结构,索引作用。

​ 数据结构三要素。

​ 数组与列表的区别。

​ 冒泡,快速排序的思想,时间复杂度。

​ 整数相加求和思想。大整数相加求和。
链接:https://www.nowcoder.com/discuss/353158028306358272?sourceSSR=search
3.6

面试超级无敌简单,学校里可以上门cloud computing的课,YouTube上看看怎么写python automation script就可以速成了。. ----
我之前做过devOps 实习,面试的时候,老板完全招不到人,问了几个巨简单的aws 基础和一题2 sum难度的leetcode就进去了,面full time的话,在这个基础上多一轮python面试,面试真的水中之水。

只要上过cloud computing的课,把jd 上的关键词全班上去,水的一批的面试

3.7

meta PE

https://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=682346&ctid=228784

3.8

第一个题目,我遇到的就是准备材料里面的原题。
讨论一下思路 (不一定要最优解,用你最擅长的方式写)
写一些 Testcase,
然后讨论一下 big O
第二个题, 比较偏应用。
用CSV去parse两个文档然后排序。
过了大概一两天,然后HR发邮件说有没有时间可以聊一下,然后就说电话面试过了,让我准备onsite.

https://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=627260&ctid=228784

4. JD要求

4.0 SRE任务

    • 管理变更
    • 管理故障
    • 制定 SLA 服务标准
    • 开发、选型、管理 各类中间件
    • 开发、管理 分布式监控系统
    • 开发、管理 分布式追踪系统
    • 开发、管理 性能监控、探测系统(dtrace、火焰图)
    • 开发、选型、培训 性能调优工具
  • 能力要求

    • 语言和工程实现

      • 深入理解开发语言(假设是 Java)

        • 业务部门使用开发框架
        • 并发、多线程和锁
        • 资源模型理解:网络、内存、CPU
        • 故障处理能力(分析瓶颈、熟悉相关工具、还原现场、提供方案)
      • 常见业务设计方案和陷阱(比如 Business Modeling,N+1、远程调用、不合理 DB 结构)
      • MySQL / Mongo OLTP 类型查询优化
      • 多种并发模型,以及相关 Scalable 设计
    • 问题定位工具

      • 容量管理
      • Tracing 链路追踪
      • Metrics 度量工具
      • Logging 日志系统
    • 运维架构能力

      • Linux 精通,理解 Linux 负载模型,资源模型
      • 熟悉常规中间件(MySQL Nginx Redis Mongo ZooKeeper 等),能够调优
      • Linux 网络调优,网络 IO 模型以及在语言里面实现
      • 资源编排系统(Mesos / Kubernetes)
    • 理论

      • 容量规划方案
      • 熟悉分布式理论(Paxos / Raft / BigTable / MapReduce / Spanner 等),能够为场景决策合适方案
      • 性能模型(比如 Pxx 理解、Metrics、Dapper)
      • 资源模型(比如 Queuing Theory、负载方案、雪崩问题)
      • 资源编排系统(Mesos / Kurbernetes)
  • https://zhuanlan.zhihu.com/p/87598465

4.1 字节

Network Software Development Engineer

掌握一种或多种主流编程语言,包括但不限于:C/C++、Python、Go、bash

• 对高速IP网络、软硬件交互、硬件卸载技术有浓厚兴趣

• 了解Linux或Unix,精通Linux命令行、vim/emacs • 了解交换机/路由器的工作原理、嵌入式系统硬件架构、处理器架构、交换机/路由器OS

• 具有主流商家交换机软件开发或SONiC开源开发经验,有BSP开发经验者优先

• 熟悉交换机ASIC SDK,有XGS驱动或SAI开发经验者优先

• 熟悉或协议开发,有路由协议、遥测开发经验

• 较强的解决问题和软件故障排除能力

• 在有限的监督下自我激励和自我驱动

https://jobs.bytedance.com/referral/pc/position/6886962456363731213/detail?token=NTsxNzEyMDkzMjM1MjE3OzcxNzExMzg0MTQwODU5MzI1NTI7NzM1MzM4MTgwMTM2NjI0MzYxMDsx

https://jobs.bytedance.com/referral/pc/position/6886957643597678855/detail?token=NTsxNzEyMDkzMjM1MjE3OzcxNzExMzg0MTQwODU5MzI1NTI7NzM1MzM4MTgwMTM2NjI0MzYxMDsx

4.2

Oracle

Active TS/SCI Security ClearanceStrong understanding of cloud concepts, platforms, and distributed systems.

Strong ability to convey complex technical issues effectively in both written and verbal form.

Knowledge of server hardware and software configuration, networking, standard internet services, scripting languages, cloud computing patterns, technology security and compliance.

Experience running large scale customer facing web services.Knowledge of Load Balancing Technology, big data stores and container technologies.

Experience defining and documenting technical architecture of a complex and highly scalable product to include development and refinement of operating procedures and troubleshooting guides (runbooks).

**3 - 5 years’ experience running large scale customer facing web services.**一个SRD要两年有点不要脸

Preferred Qualifications

COMPTIA Security or equivalent in accordance with DOD 8570 workforce training requirementsWilling to sit for and obtain a polygraph

https://www.linkedin.com/jobs/search/?currentJobId=3950543723&keywords=site reliability developing&origin=BLENDED_SEARCH_RESULT_NAVIGATION_JOB_CARD&originToLandingJobPostings=3915674591%2C3964137587%2C3962589667

4.3 meta

校招岗位 开了2天了,目前只有21个申请人 CA

32个人 NY, 50个人 WA,

Minimum Qualifications:

  • Experience in *nix (Linux, BSDs, or another UNIX-like OS)
  • Experience coding in an industry-standard language (e.g. Java, Python, C++, PHP)
  • Experience picking up software, frameworks and APIs
  • Currently has, or is in the process of obtaining a Bachelor’s degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience. Degree must be completed prior to joining Meta.
  • Must obtain work authorization in country of employment at the time of hire, and maintain ongoing work authorization during employment

Preferred Qualifications:

  • Understanding of TCP/IP networking fundamentals
  • Experience with an RDBMS like MySQL or Postgres
  • Knowledge of internet service architectures (such as load balancing, LAMP, CDN’s)
  • Experience performing ‘guerrilla capacity planning’ for internet service architectures
  • Experience solving complex problems and comparing alternative solutions, tradeoffs, and diverse points of view to determine a path forward
  • Experience working and communicating cross functionally in a team environmen

https://jsv3.recruitics.com/redirect?rx_cid=3239&rx_jobId=a1KDp00000E1YSBMA3_1001&rx_url=https%3A%2F%2Fwww.metacareers.com%2Fjobs%2F477195844990625%2F%3Frx_campaign%3DLinkedin1%26rx_ch%3Dconnector%26rx_group%3D126320%26rx_job%3Da1KDp00000E1YSBMA3_1001%26rx_medium%3Dpost%26rx_r%3Dnone%26rx_source%3DLinkedin%26rx_ts%3D20240701T004802Z%26rx_vp%3Dslots%26utm_campaign%3DJob%252Bboard%26utm_medium%3Djobs%26utm_source%3DLIpaid

4.4 抖音 SRE cloud platform

3天,41个人申请

2年以上 Kubernetes 管理经验。

拥有 3 年以上 Unix/Linux 系统经验(从内核到 shell 等)。

具有 Kubernetes CNI 部署和故障排除经验,包括(但不限于)以下 CNI:Cilium、Kube-Router、Calico、Flannel。

CKA(认证 Kubernetes 管理员)认证。

具有使用和贡献 Kubernetes 生态系统中开源项目的经验,例如 Kubespray、CNI、Helm、KubeEdge、Istio/Linkerd、Prometheus、ArgoCD、OPA、Harbor、Envoy 等。

具有 TCP/IP、BGP、DNS、负载均衡器等网络技术经验。 具有 CI/CD 管道设计和开发经验。

具有 Kubernetes API、Operator 和自定义资源定义 (CRD) 开发经验。

具有为大规模复杂系统设计、分析和构建自动化工具的经验。

4.5

Devp infra SDE

3天 92个人

  1. Bachelor’s degree or above in Computer Science or a related field, with 2+ years of development experience;
  2. Proficient in one or more programming languages such as Java, Python, or Go, and familiar with the principles and usage of databases and middleware such as MySQL, Redis, and MQ;
  3. Familiar with the development process, understanding of efficiency measurement, built-in quality, CI/CD, and stability assurance practices;
  4. Strong team collaboration skills, good communication skills, a sense of responsibility, proactive, and a passion for researching and applying new technologies.

Preferred Qualification:
- Experienced in developing platforms and tools for testing, deployment and operations.

4.6 字节

SRE ML System

4天14个申请人 圣何塞

4天6个申请人 西雅图

2周 37个人

本科及以上学历,计算机科学、计算机工程或相关专业 熟练掌握Linux环境下至少一种编程语言,如Go/Python/Shell 具有丰富的 Kubernetes 和容器技术实践经验,

并有 2 年以上相关运维经验

从事大规模ML分布式系统运维工作 具有GPU服务器运维经验

DevOps/Site Reliability Engineer (SRE) with TS/SCI (on site Northern Virginia)

https://www.linkedin.com/jobs/view/3960437162

4.7 Coinbase

ASRE

3天 85个人

3天 40个人

至少 1-2 年支持网络基础设施的经验

至少 1-2 年云基础设施自动化经验至少精通一种脚本语言(Bash、python、Ruby、Go 等)具

有使用 CI/CD(Git)进行版本控制的经验

具有使用 Terraform 或同等框架支持 AWS 服务和 CI/CD 工作流程的经验

具有 Terraform、Ansible、Chef、Puppet 或 Salt 等配置管理系统的相关经验

具有 Docker 和 Kubernetes 等容器和容器编排的相关经验

最好有

精通 Linux、Bash、Ruby、Python 和/或 Go熟练使用 Terraform 实现 EC2 或容器部署自动化强大的网络安全基础拥有管理和利用日志聚合的经验 在高度监管的环境中工作的经验在快节奏、高增长公司的工作经验具有远程优先 IT 环境经验

https://www.linkedin.com/jobs/view/3939479653

https://www.linkedin.com/jobs/view/3939480569

4.8 Oracle

SRE -database

1周 7个人

拥有两个或多个领域的技术专长: Terraform,基础设施即代码 Oracle 数据库 Linux 远程管理 数据库云服务器 零数据丢失恢复设备

此外,我们正在寻找有上进心的个人,

拥有管理生产云服务的 SRE 经验具有发布和维护云服务的经验出色的口头和书面沟通能力管理系统或数据库环境的生产经验 具有通用系统语言使用经验,例如: - Python、Perl、Unix Shell 和/或数据库语言 SQL、PL/SQL

https://www.linkedin.com/jobs/view/3954907158

4.9 字节

SRE CapCut

1周 61个人申请

计算机科学或相关技术学科学士或更高学位。 2-5年互联网行业工作经验。

具有扎实的计算机科学知识,熟悉操作系统、计算机存储、计算机网络等原理。

优先资格

具有 Redis、MySQL、Nginx、Kubernetes、Docker 等经验者优先。

Site Reliability Engineer - CapCut - San Jose

SRE Video Platform

1周 44个人

4.10 Splunk

SRE

1周9个人

You have experience or an interest in working with regulated computing environments such as FISMA and/or FedRAMP and are enthusiastic about doing it better

.Experience working within an Azure environment

Experience working in a fully remote position and team

You are passionate about building and running distributed systems at scale in production.

You understand the challenges and trade-offs to be made when building and deploying systems to production.

You constantly consider "How can I automate this process?"Knowledge of best practices related to security, performance, and disaster recovery.

Skilled in identifying performance bottlenecks, spotting anomalous system behavior, and determining the root cause of incidents.

Experience monitoring cloud environments using tools like Splunk, VictorOps and Nagios

Deep understanding of linux systems or equivalent certification, (network stack, file system, OS services) and networking (L2 vs. L3, network architecture, VLANs, etc)

Must have AZ-900 Azure Fundamentals or preferred AZ-104 Azure Administrator Certification

https://www.linkedin.com/jobs/view/3952875698

Why SRE?

  1. devOps可以证明你有快速 build up service能力

    增加面试机会

    类似 make it works

  2. 快速累计各种tool的使用经验

    产品端和面向客户的domain knowledge固然没啥积累,但对于各种infra的上手和理解比较容易,分析新问题时考虑得也更全面。

    搭建infra比写一般code复杂

  3. devops 要求全面,往往是通才

    其实我个人觉得devops做好了是真牛b,计算机理论,代码,基础设施体系样样不落下。一个人就是一个小公司了。

    devops也分很多种了,就像你是数据库核心系统开发,还是网页页面开发。

  4. google 和 meta的SRE比较好

    google的SRE是非常值得, 比较有机会碰到Distributed相关,比SDE多

    做很多的Distributed System 和 Infra 在CV非常之前

    on call 人性化

    SRE和SWE可以转

  5. 救火队,越老越吃香

    google加的SRE是真的SRE

    比SWE更难做,而且更有挑战。

    其它公司的SRE就是ops,给SWE擦屁股

    SRE的知识不论去哪个组都可以用

缺点

  1. 代码量不高,全是一些脚本

    做的东西很多是cloud native,kubernetes,docker之类的

  2. 公司里没有visibility

    公司好坏与你无关,基本就是按部就班

  3. deveops需要马上修

    production出了bug的时候,devops要马上修的,有时候可能是半夜

  4. dev改名

    比如最早叫 DevOps

    后来叫 SRE 或者有叫 SDE - Engineering Productivity

    然后又改称 SDE - Tools and Infra,然后干脆改叫 SDE-Infra

    然后现在有的更隐蔽,直接包装成 SDE- Platform 组,但是你一问他们own 什么 service 就发现他们不 own service 只 own infra。。 工作描述都是 enable/support xyz use case 这些字眼

Reference

https://medium.com/@LadyNoBug/devops职业发展-82ded8e8370e

https://www.1point3acres.com/bbs/thread-770714-1-1.html Devops 不好

https://www.1point3acres.com/bbs/thread-657599-1-1.html googleSRE

https://www.1point3acres.com/bbs/thread-559730-1-1.html google 救火队

https://www.1point3acres.com/bbs/thread-908163-1-1.html google 和 meta好