devops 主管岗位面试的一些杂感

640?wx_fmt=jpeg

文/高哥

最近打算换坑了、这次再换、以后就谁都挖不动我了。也是近 3 年内职业生涯的最后一份工作了。大概瞅了瞅一些方向:PM、DBA、devops 方向的一些岗位。最终将方向定位在了 devops 方向。刚好,我这两天也经历了一次这样的面试。聊了将近三个小时左右。我就打算大概将全过程记录下来。这样做的好处有两个:第一、为自己开创一个新的里程碑。第二、让你们看看我是如何面试的。是如何回答考官的问题的。

这次我面试是没带简历的。用红米机用在猎聘上简单的完善了下简历并刷新了一下。然后就得到了这次的面试机会。废话不多说、我面试是那面的公司技术老大也就是研发经理直接面。HR、笔试都直接跳过了。本来需要笔试的,可是觉得这样浪费时间,我说咱就直接谈吧。面试官人倒也爽快,说行。

就这样简单了当的直接进入了面试过程、回忆下来总共大概问了我有十五个左右的问题。我特地整理下来,挨个分享给大家。

1、大概介绍一下你自己并讲述一下你从业 6 年来的经历。

答,你好,首先特别感谢贵公司给与我这次合作的机会。我本科 211 毕业、从业 it 行业将近 6 年,医疗行业经验有 4 年。之前有 PM 经验 并 做 dba。目前有意做运开并有意向这个方向深入发展。这大概是我一个简单的经历,一会如果涉及到技术方面的问题您可以问我就好,我相信我们会沟通的比较顺心。

2、对 devops 岗位的理解,换言之就是你对自动化运维的理解。

答,首先自动化的出现是为了节省人力、财力、以及时间成本等等。将复杂的事情简单做、重复的事情简化做。同时也是 dev (开发人员)和 ops(运维人员)沟通的真正桥梁和纽带。 这是一项新型的技术力量。

3、对 postgresql 熟悉吗? 能否对开发写的 SQL 代码进行审核和评估?

答,较为熟悉、postgresql 为关系型数据库,有着大多数关系型数据库的范式功能。SQL 代码审核实际上是在应用层面和数据库层面抓取开发所写的慢 SQL、从而来进行优化。最常见的方案为改变 SQL 写法、添加索引等等。而解决这类问题的前提是能够正确看执行计划,其次需要拥有正确书写 SQL 的能力。这方面我还是有一定的经验的。

4、postgresql的备份、还原以及它的高可用性。说说那你的理解。

答,postgreql一般采用 pg_dump 或中间件 pg_pool 或 pg_rman来进行备份。数据库的高可用一般就是双机热备、主从、双主等等。 之所以会有高可用 HA 这项技术、是为了在数据库层面保证数据的持久化存储、不丢失换言之就是安全。其次为了提高应用系统层面的运行效率能够更高、更快。

5、说一下你说了解的分布式架构、负载均衡并列举。

答,常用的 nginx 反向代理就是其中一列。通过 up_stream模块来配置服务器权重,来达到负载均衡的功能。换言之就是保证每台服务器所承载的压力大小差不多。再者,nginx 代理 tomcat 也是其中一种类似于前者,同样的原理。而分布式只不过是利用多台机器来实现单台计算机不能实现的功能。


640?wx_fmt=png

图片来源于网络


6、能否上手操作 linux 和维护,请快速说出判断 linux 服务器性能的几个命令。是否熟悉 shell、Python、perl、Java一种或多种。

答,操作 linux 没问题(这块是我没有意料到的,所以一定要毫不犹豫的说出来),经常诊断命令有 top 、iostat 、vmstat、uptime、df -h 、free -h 等。shell 基本日常需要没问题。Python脚本以及 Java 这块我还是基本没咋么接触过、但如果工作中有需要,我相信我会很快上手。因为以前有写 c++ 的经历和基础。

7、对 docker 和 kubernetes(k8s) 了解到什么程度?kubernetes 一般的安装方式以及它是如何调取 pod 的?你是否可以书写 k8s 文件。 熟悉 dubbo 更好。

答,docker就是一个口袋、运行在 linux 上的基础上,docker的一切兼镜像。而 kubernetes 则运行在 docker 的基础上。主要用来做容器的编排和管理软件的生命周期。这是一个很棒的设计、会给企业带来更好的发展,也会给应用带来一定的发展空间。而 kubernetes 经常用到的安装方式有三种,第一种二进制安装、第二种 kubeadm安装、第三种 结合 ansible来自动化安装。在调度时,会有一个算法,首先会去判断 pod 上的上限内存、cpu之和是否大于pod所在服务器内存和cpu,如果小于则调度。反之、则驱逐。可以书写 k8s 各类 yaml、如deploment、rc、pod、namespace等。关于调度 pod 而 dubbo 是阿里开源的一款高性能的服务架构。基于 RPC 经常与 Spring 框架进行无缝连接。关于 dubbo 我这块简单接触过,有一定的了解。

8、关于管理这方面你有什么想要说的,我们目前 devops 岗位需要带领运维团队配合产品经理和研发经理来共同完成公司分配的任务。

答,管理实际上是运用合理的资源来达到工作目标。合理计划、调配人员这方面我还是有一定的心得,PM 做了将近有两年,相信在这块我还是不会让公司失望的。

9、列出你所熟悉的关系型数据库和非关系型数据库并说明逻辑备份和物理备份的原理和区别。

答,我所熟悉的关系型数据库有常见的DB2、Oracle、MySQL、postgresql、sqlserver等。非关系型数据库有 mongodb、redis等。备份的本质是备份数据库的逻辑数据和数据库物理文件。备份逻辑数据就是经常所述的DDL、DML 语句。物理备份就是类似于备份 os 文件一样。

10、你所熟悉的常用的版本管理用的什么? 对 jenkins以及ci/cd/docker流程熟悉吗? 这个是公司比较看重的。

答,常用的版本管理工具有 svn、git。一般是开发在自己的电脑上写完代码提交到 git、之后在 ci 上审核代码、在 jenkins 上打成 docker 镜像从而来进行应用的发布。而 jenkins 常用于 Java 代码开发的业务。

11、docker 跑各类数据库有什么问题吗?

答,都说 docker 跑数据库会有一定的问题,但是我认为这是不科学的。目前我还没有发现任何问题。因为在 docker run 的时候可以加 -v 参数来映射宿主机目录。个人觉得有了 docker 很方便。

12、说出你所熟悉常用监控工具。

答,常用监控工具有 zabbix、天兔、prometheus 结合 grafana。


下来就是谈一些待遇和股权等方面的事情。对了、这次应聘的是 devops 运维主管。


希望可以给大家带来一定的启发,回答面试官问题时需要掌握的一些技巧。当然,前提是你得知道。


真诚分享、说不准你会用的着、你得到了启发才有价值、那说明我这篇也没白写。


推荐阅读:

说点心里话

从基层干起

懂业务的技术人!

你高哥,终生学习者。

640?wx_fmt=jpeg

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值