当前位置:主页 > 查看内容

美团运维面试官没想到jenkins我用得这么溜,人直接傻掉

发布时间:2021-06-22 00:00| 位朋友查看

简介:前言 春天来了在家玩了半年也该出去散散心了顺便收获几个offer练练手要不然都没有办法给小伙伴们发面试题了。 所谓知己知彼方能百战不殆我先是在网上搜索了一下关于最近的运维职位发现还行大多薪资都在25-50K之间。于是就在boss上更新了简历设置简历开发去把……

前言

春天来了,在家玩了半年,也该出去散散心了,顺便收获几个offer练练手,要不然都没有办法给小伙伴们发面试题了。

所谓知己知彼方能百战不殆,我先是在网上搜索了一下关于最近的运维职位,发现还行,大多薪资都在25-50K之间。于是就在boss上更新了简历,设置简历开发,去把快递收回来。

刚到电脑面前做下,就看到boss上有人要简历,之前有个小伙伴说: 你不在江湖,但江湖还是你的传说。
诶。。。真烦啊,太烦恼了,那就去吧,为了小伙伴们的真题,我舍命陪君子。

在这里插入图片描述

找出了半年未动的面试服装,打印好了三页纸的简历,带着一瓶红牛我就直奔面试现场。

到的时候有点早,越好的下午2点,我1点就到了,没办法找个地方喝个咖啡,补充下能量,一会打起来我好有力气跑。

叮咚, 距离面试还有15分钟,暗自窃喜的来到了某团现场面试的办公室,我丢,这就是面试官? 不是吧?

在这里插入图片描述
发量感人,见我来了赶紧带上帽子,这造型就是传说中的国外特聘CTO?

Hello, I’m ki, your interviewer. You can call me A.k, Look at my hairstyle, you should be able to guess my identity. I don’t have to say anything. Shall we just start

我丢,这TM是人话?

于是我用英语说: sure,can you speak chinese?

阿K笑了笑说,当然了,我们开始吧:

你们服务器的日常巡检的主要工作是什么?

额,确定是认真的吗?你这面试题不会是哪个蹩脚的系统运维帮你准备的吧。虽然十分不情愿回答,但也没办法,好在脑海里还有点印象:

  • 服务器物理硬件的巡检
  • 操作系统的磁盘,内存,cpu,硬盘读写情况
  • 服务器系统日志
  • 运行与服务器上应用是否 可用
  • 应用系统日志检查
  • 数据库运行状态,运行日志检查
  • 数据库定时备份机制情况
  • 系统定时任务执行情况

你能说一下上线流程吗?

这,跳跃也太快了吧。

好的面试官,我们这边上线流程比较简单,运维人员收到产品经理的上线工单(一般是邮件),邮件中包含了要上线的项目地址和版本号。
然后我们按照既定的上线脚本执行上线,完成后,运维人员会给相应的开发或者产品回邮件,宣布上线完成。

他们会回复是否上线上线成功,如果半小时未回复,就回滚。

"哦,你们有没有用到jenkins?”
来了来了,加分项来了,这个我还真遇到过,装B的机会终于来了。
在这里插入图片描述

有的面试官,这个题我会!!

开发上传代码到版本库,版本库我们用的gitlab,jenkins进行拉取编译,然后打包传到镜像仓库(harbor),在harbor中进行测试。 测试完毕之后,docker从镜像仓库中进行拉取,然后在k8s部署。部署完成之后,调用K8s的API进行健康检查。(healthcheack)

那…

还有还有,我还有,您别着急问下一个,让我再加点分,拖延一下面试时间。

我们可以设置让jenkins分支代码更新后,jenkins自动构建, 在jenkins的控制面板上我们设置构建触发器,把此处的URL复制下来,放到gitlab上的webhook中使用。

在这里插入图片描述
点击高级按钮,去输入要处罚的分支及复制token
在这里插入图片描述
然后我们在gitlab上设置,在setting-integrations

把上一步在jenkins里复制的网址和token,粘贴到此处

在这里插入图片描述
粘贴完后,根据自己的需求去选择要实现的触发事件
在这里插入图片描述
当然了,在这个过程中,我们也需要在jenkins里安装一些插件,比如:

  • git parameter
  • gitlab
  • gitlab hook

通过上面的步骤,我们就完成了代码发布到gitlab,然后jenkins就去拉取。

jenkins通过制定的代码地址url,将代码拉取到jenkins的安装位置,进行编译,打包和发布

面试官:我丢,这货知道的还挺多,下面我要考考他原理了。

嗯嗯,你回答的很全面,那么你能跟我说说jenkins的工作的原理吗?**

好的面试官,我这里给你画一张图:
在这里插入图片描述
我已SVN为例,也可以改成gitlab等作为仓库代码

  • 开发人员把代码发送到gitlab
  • CI系统会为每个项目创建一个单独的工作空间,当预设或者请求一次新的构建的时候,他就将代码仓库的源码存入对应的工作区
  • CI系统会在对应的工作区内执行构建过程,build,这个构件是根据事先设置好的脚本进行bulid,这个脚本可以做很多事情,比如编译,测试,生成测试报告等等。
  • 构建完成后,CI系统会在一个新的构建中执行一套定义好的测试,完成后触发通知给相应的当事人。
  • 如果构建成功,这个构件就会被打包转移到一个部署目标,或者存储为软件仓库里的一个新版本。
  • CI会根据请求发型相应操作,诸如即时构建、生成报告,或者检索一些构建好的构件。

elk你们用过吗,能不能讲一下你的理解?

用过的面试官

ELK由三部分组成:

  • 数据的采集,分析,过滤日志: logstash
  • 数据的存储,分析,搜集: elasticsearch
  • 数据的展示:提供web界面,kibana

这个图是一个数据分析的架构图,涉及到kafka做为boker使用
在这里插入图片描述
简单的说:位于各个节点上的Logstash Agent先将数据/日志传递给Kafka(或者Redis),并将队列中消息或数据间接传递给Logstash,Logstash过滤、分析后将数据传递给Elasticsearch存储。最后由Kibana将日志和数据呈现给用户。

logstash工作原理你能说一下吗?

好的,好的,好的,别急面试官,听过慢慢吹,额慢慢给你说:

Logstash事件处理有三个阶段:inputs → filters → outputs,接收,处理,转发日志

input:输入数据到logstash
在logstash里有三个部分,一个是shipper,用来收集日志数据和监控日志数据的变化,及时将日志最新的内容收集起来。
另一个是borker: 相当于日志的hub,用来暂时存储shipper收集起来的日志信息。
indexer: 从borker中读取文本,经过加工,过滤,输出到指定的介质。

我们logstash端都是部署在被采集端,当然后期我们会用filebeat来代替, 安装好之后,logstash的三个组件,shipper负责检测日志变化并收集,然后发送给boker,进行存储,然后传送给indexer

在indexer这个地方进行数据清洗,分析和过滤,然后作为kafka的生产者传送给kafka,这个传送过程呢,是这样的。
首先producer先从zookeeper的brokers的state节点找到该partinon的leader,然后

  • producer将消息发送给leader
  • leader将消息写入本地log
  • followers 从leader pull消息,写入本地log后给leader发送ack
  • leader 收到所有的ISR中replica的ASK之后,增加HW(就是完成的offset,)并向porducer发送ack

消费者就是elasticsearch,去拉取tiopic的消息。

kafka同步到es的方式有四种:
1) logstash_input_kafka插件,但是这个不太好用
2) spark stream 同步,太庞大
3) kafka connector同步
4) 自写程序去读取解析写入

kafka connet 可以将完整的数据库注入到kafak topic中

KafkaConnect有两个核心概念:Source和Sink。 Source负责导入数据到Kafka,Sink负责从Kafka导出数据,它们都被称为Connector
kafkaConnect通过Jest实现Kafka对接Elasticsearch。

如果用logstash去将Kafka中的数据写入到ElasticSearch
input需要logstash-input-kafka插件,该插件logstash默认自带。

面试官: 好的,你不仅把我问的都回答了,我不知道的你也说了,这样你还有什么想问我的吗?

嗯,有的面试官,咱们招聘的这个岗位是AB复制还是新增,未来的这个岗位的规划是怎样的?

面试官:巴拉巴拉小魔仙巴拉巴拉

好的,我大体了解了,也对这个岗位比较感兴趣,期待能 有机会共事,感谢。那我先回去了,有消息第一时间通知我哈。

面试官: 我送送你

面试官给我送到了地铁刷卡口,看着我刷卡进站,他才离去。

害,我只能在面试官走后又刷卡出来,因为下一家面试就在隔壁楼上

无奈。

后记

本文略去了一些寒暄的过程,以及一些无意义的问题,诸如你老家是哪的,未来打算回老家发展吗,家人都在北京吗等等。

;原文链接:https://blog.csdn.net/xinshuzhan/article/details/115627028
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐