运维开发 - 天天拍车 - 面经

面试流程:

对于运维工作的理解

对运维自动化是怎样理解的

对于运维后期发展,谈一下

有了解过SRE么

SRE 的主要特点

  1. 软件工程方法:SRE 使用软件工程的方法来处理运维问题,包括编写代码来管理基础设施、应用测试和持续集成等。
  2. 服务所有权:SRE 团队对其管理的服务负责,包括服务的可用性、性能和容量规划。
  3. 错误预算:SRE 使用错误预算来量化服务的可靠性。错误预算是指服务可以发生错误的时间量,一旦超出这个预算,就需要采取措施来提高可靠性。
  4. 自动化:SRE 强调自动化常规任务,减少手动干预,从而减少错误和提高效率。
  5. 监控和警报:SRE 负责监控服务的健康状况,并在出现问题时及时发出警报。
  6. 应急响应和事后分析:SRE 团队参与应急响应,处理服务中断和其他问题,并在事后进行分析,以防止类似问题再次发生。

SRE 与传统运维的区别

  • 传统运维(IT Operations):传统运维通常更侧重于手动操作和系统管理,例如配置服务器、管理网络和解决硬件问题。
  • SRE:SRE 则更侧重于使用软件工程的方法来管理基础设施和服务,强调自动化、监控和持续改进。

SRE 的职责

SRE 的职责通常包括:

  • 容量规划:确保服务有足够的资源来处理当前的和预期的负载。
  • 性能优化:改进服务的响应时间和吞吐量。
  • 故障排查:诊断和解决服务中断或其他性能问题。
  • 部署:管理服务的部署,确保新版本的顺利推出。
  • 监控和警报:设计和实施监控,以便及时发现和响应问题。
  • 文档和培训:编写文档,培训其他团队成员,传播 SRE 的最佳实践。

【补】CDN

CDN 是 Content Delivery Network(内容分发网络)的缩写,它是一种分布式网络服务,用于根据用户的位置快速、可靠地分发内容。CDN 旨在提高网页加载速度和性能,通过将内容缓存到遍布全球的服务器上,使用户能够从距离他们最近的服务器获取数据。

CDN 的工作原理

  1. 缓存:CDN 系统会将网站的内容(如图片、视频、CSS/JS 文件等)缓存到分布在全球各地的边缘服务器上。当用户请求这些内容时,他们可以从最近的边缘服务器获取,而不是从原始服务器获取。
  2. 负载均衡:CDN 通过分布式的服务器网络来分担流量,这有助于减轻单一服务器的负载,提高网站的可用性和可靠性。
  3. 智能路由:CDN 使用智能路由算法来选择最佳的路径和服务器,以确保用户能够以最快的速度获取内容。
  4. 性能优化:CDN 还可以对内容进行优化,例如压缩文件、优化图片、管理 cookies 等,以减少加载时间。

CDN 的好处

  1. 提高速度:用户可以从距离他们更近的服务器获取内容,减少了延迟,提高了加载速度。
  2. 提升用户体验:更快的加载时间可以提升用户体验,增加用户留存率和满意度。
  3. 减轻源站负载:大部分的用户请求会被 CDN 处理,减轻了源服务器的负载。
  4. 提高安全性:CDN 可以提供 DDoS 攻击防护和其他安全功能,保护源站不受攻击。
  5. 全球覆盖:CDN 有助于在全球范围内扩展服务,使不同地区的用户都能获得良好的体验。

CDN 的使用场景

  1. 静态内容分发:如图片、视频、CSS/JS 文件等。
  2. 动态内容加速:虽然 CDN 主要用于缓存静态内容,但也可以用于加速动态内容的传输。
  3. 流媒体服务:CDN 广泛用于流媒体服务,确保视频内容能够流畅播放。
  4. 电子商务:提高网站速度,提升购物体验。
  5. 移动应用:加速移动应用的加载速度和性能。

在Linux中新加一块硬盘,会如何操作

1. 查看新硬盘

首先,您需要确定新添加的硬盘在系统中的标识。连接新硬盘后,使用 lsblkfdisk -l 命令来查看所有可用的磁盘和分区。

lsblk
# 或者
fdisk -l

2. 分区硬盘

接下来,您需要在新硬盘上创建分区。您可以使用 fdiskparted 等工具来执行此操作。

sudo fdisk /dev/sdb
# 或者
sudo parted /dev/sdb

fdisk 中,您可以创建一个新的分区表,然后添加分区。保存并退出后,分区将会生效。

3. 格式化分区

在分区创建完成后,您需要格式化分区。通常,Linux 使用 ext4 文件系统,但您也可以选择其他文件系统,如 xfs

sudo mkfs.ext4 /dev/sdb1
# 或者
sudo mkfs.xfs /dev/sdb1

4. 挂载分区

格式化后,您需要创建一个目录作为挂载点,并将分区挂载到该目录。

sudo mkdir /mnt/data
sudo mount /dev/sdb1 /mnt/data

5. 设置自动挂载

为了让系统在启动时自动挂载分区,您需要将分区信息添加到 /etc/fstab 文件中。

sudo nano /etc/fstab

/etc/fstab 文件中,添加以下行:

/dev/sdb1 /mnt/data ext4 defaults 0 0

保存并关闭文件。

6. 验证挂载

最后,您可以使用 df -h 命令来验证分区是否已经正确挂载。

df -h

您应该看到新硬盘分区列在输出中,这表明它已经成功挂载并可以使用了。
请注意,上述命令中的 /dev/sdb1/mnt/data 应根据您的实际情况进行调整。/dev/sdb1 应该是新分区的实际设备名称,而 /mnt/data 应该是您希望挂载分区的目标目录

有一个文件,检索第3到50行,如何操作

使用 sed 命令

sed -n '3,50p' filename

这里,-n 参数告诉 sed 不要打印默认输出,'3,50p' 表示打印文件的第 3 行到第 50 行。

使用 awk 命令

awk 'NR>=3 && NR<=50' filename

NRawk 中的内置变量,表示当前行号。这个命令告诉 awk 打印行号大于等于 3 且小于等于 50 的行。

使用 headtail 命令

head -n 50 filename | tail -n +3

head -n 50 命令会输出文件的前 50 行,然后 tail -n +3 命令会从输出的第 3 行开始打印剩余的行。这种方法在处理非常大的文件时可能比直接使用 sedawk 更高效,因为它不会读取整个文件。

使用 grep 命令(不推荐)

虽然 grep 通常用于搜索文本,但它也可以用来打印特定范围的行,但这不是 grep 的主要用途,因此不推荐这种方法。

grep -n '' filename | sed -n '3,50p' | cut -d ':' -f 2-

这个命令组合首先使用 grep 打印文件的每一行及其行号,然后使用 sed 来打印特定范围的行,最后使用 cut 来去除行号。
请将 filename 替换为您要检索的文件的实际名称。以上任何一种方法都可以用来检索文件的第 3 到第 50 行。

之前的项目主要是用什么语言开发的

在项目中负责什么工作

有参与后端开发么

有了解过docker和k8s么

对运维的杂活怎么看

项目中的集群是自己部署的么

如果师傅给杂活,师傅做主要工作,如何看待

那反过来呢,如何看待

什么工作会是主要工作

对任务闭环是怎样理解的

写文档相关,工作中是如何考虑的

图表相关,如何制作技术相关图表

有什么没问到,想补充的可以说一下

反问环节:

部门和业务:SRE相关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值