问运维团队 leader 的一些(技术)问题

缘起

最近去北京出了一趟差,结果一去就被总部抓差到总部运维团队那里帮了两个星期(其实不止两个星期)的忙,说是帮忙其实算不上,应该说我是被抓丁参与了一个大的“项目”。

这个项目就是帮助梳理运维团队现在的为了 sla 和(成本)压降的方案,并参与帮他们招一个 leader,50+ 团队的 leader,一个运维总监。

这里我重点是说我参与面试运维总监的这个事儿,这么高 level 的岗位,拉我一工程师来参与面试,能聊什么呢?于是我非常自觉地把我的时间缩到 30 分钟之内,同时又在运维工作的一些方向上各找了几个简单基础的细节问题,打算试试这些大佬候选人的基础成色。

我的问题及效果

Linux

首先我聊的是 Linux 发行版,再聊 kernel 版本,这也不是每个人都聊的,要看其简历上是否有过 Linux 系统管理员的经验,到这里有人就已经毛了。

大家基本上都是红帽系:CentOS 用的比较多,但当我引出来红帽系(就说 CentOS 吧)的 kernel 版本不标准,他们把好多高版本的特性 backport 到老(低)版本。其实这个就有点流氓,Linux 主要是是指 kernel,结果你 CentOS 里 uname 看到的版本跟别的版本看到的不是一回事。关于这个事情,没有一个候选人意识到过。

进程管理

孤儿进程和僵尸进程是什么?应该怎么处理?

本想如果能聊,再问问 daemon 程序呢。结果,没有一个人能有机会让我扯出 daemon 的问题。

文件系统

Linux 文件系统中的软链接和硬链接,有啥区别,占硬盘空间吗?

结果是:大都知道软链接,也大致知道其特点,但对硬链接了解不多,对后面的问题自然也就不清楚了。

内存管理

这个没问

网络

rfc1918 中定义的 Private Address Space

成想有张口就来的再问问 100.64 的事情的,结果,就这几个段的地址,没有一个候选人能准确无误的回答出来,当然,也还是有好几位只是也许是口误说 172.16.0.0-172.32. 而在我的提示下马上又更正了。
这个问题我要求完全准确其实可能要求有点高,像那几位仅是 172.16. 那个段口误的,基本上来说可以得满分了。但我但凡说起 100.64. 这个段的事情,无人知晓

OSI 七层模型中的二层(链路层)、三层(网络层)、四层(传输层)、七层(应用层)分别是什么?有啥区别?有什么协议?

这个问题相对答得好一点。

安全相关(或者说是应用)

HTTPs

几乎没有候选人知道客户端和服务器是怎么交互的,当然不知道也是正常的,当然我就诱导,HTTPs 是怎样保证安全(当然杠精这里可以怼我说 HTTPs 并不能保证安全)的呢?然后又说起对成加密和非对称加密,我问在 HTTPs 客户端和服务器的交互中用到了对称加密和非对称加密了吗?用到的话是哪里用到了?

结果:全军覆没。

可能是现在主流把安全团队从运维团队里划出去的后遗症吧。

数据库

这个也没问,这个其实可以挑个简单的问题问下:比如说索引为什么会加快查询的速度什么的

公有云

我准备问的问题是 AWS 里 VPC 中 public subnet 和 private subnet 的区别,这个也没普遍问,因为很多都没用过 AWS,而且,这个问题对于整个团队的大领导来说的确太琐碎太细了,如果没有做过基于 aws 的相关架构设计啥的具体工作的,的确都不一定知道。

kubernetes

我想问的是暴露服务到集群外的方式,居然有很多人不知道,那我只能评价说他完全不懂 kubernetes,当然,也有人能完全答对的。

更有意思的是,有人能答出这几种方式,但当我追问 ingress 方式到底是怎样实现将服务暴露出去的呢?被我问住了,我感觉这典型就是不求甚解,学(kubernetes)的时候并没有带脑袋去想,而只是说我要背下来。

逻辑思维(概率相关)

这种题我准备了两道:

  • 已知函数 r64 会按百分之六十和百分之四十的概率返回整数 0 和 1,求函数 r55 使其按百分之五十和百分之五十的概率返回整数 0 和 1。
  • 已知函数 r2,会按同样的概率返回整数 0 和 1,求函数 r3,使其按同样的概率返回整数 0、1 和 2

准确讲,这两个题都不难,难得是这样突然袭击候选人完全没准备可能会蒙,所以,我其实只是想知道大致的思路。结论:5 分钟之类没有人答对的,无论是第一题还是第二题。原本想第二题如果有人答得好再引申问下知道 rn,求 rm(n, m 都是正整数),但遗憾的是,没有人让我有机会聊这些……