岗位:SRE工程师  1. 自我介绍 (1到2分钟不能超时)面试官你好,我叫xx,是xx大学24届学生,就读网络工程专业,本次应聘的贵公司的岗位是SRE工程师,我目前是在xx公司担任运维开发实习生的岗位,主要工作是负责XX产品的维护,一键部署shell脚本的编写,集群化部署方案设计,如MySQL,Redis,ElasticSearch 集群部署,其余时间是学习公司的容器化运维文档,Docker和K8S 运维方面的学习; 我在大二暑假期间是在XX公司担任Java实习生的岗位,主要工作是负责WebXX项目的开发,和一些数据处理,我觉得我的优势在于有一定的运维工作经验,希望可以能够加入贵公司担任SRE工程师的岗位2.谈谈你对运维的理解?以及你对运维的一些接触平时我在学校的话,我既是开发也是运维,我当时认为运维就是把项目放到服务器上部署,不需要了,再把这个项目停掉,负责项目的发布和删除。但是对于一个企业,或者说系统化的运维来说,运维应该从成本,稳定性,移植更新迭代这几个方向上来考虑,比如说我现在参与的一键部署shell脚本的编写,就是为了方便部署,减少成本;但是对于有些企业来说可能单机部署方案不能够满足他们的需求,他们就需要根据自己的需求自定义构建集群,这是从稳定方面来考虑,项目更新升级迭代这些方面运维也需要考虑3.Shell 脚本面试官:”现在实习是写脚本比较多是吗?看样子你Shell学的还行。“我:”我觉得还可以[狗牛头]“面试官:”来做道题“我:”…………“题目一描述:有三列数字以 | 分隔 求每一列的平均数#! bin/bashawk -F "|" '{sum1+=$1;sum2+=$2;sum3+=$3;}END{printf "%.2f %.2f %.2f\n",sum1/NR,sum2/NR,sum3/NR}' data.txt自测结果[root@localhost ~]# cat data.txt 1|2|31|2|31|2|3[root@localhost ~]# bash baidu.com 1.00 2.00 3.00题目二 描述:给定一个文本,行可能是重复的,把重复的去了输出#! bin/bashcat data.txt | sort |uniq自测结果[root@localhost ~]# cat data.txt 12312389891238989[root@localhost ~]# bash baidu.com 1238989面试官:”你平时装软件yum 用的多还是apt 用的多“我:”yum用的多一点,ubuntu只有大二实习的时候用过,现在基本没用“面试官:”你写shell脚本还有那些命令用的多“我:”我现在主要写的是项目部署脚步,用ps -ef 查看项目是否启动,netstat看端口占用,id -u 看是不是root用户启动脚本,tar -cxvf 解压,mysql -uroot -p < xxx.sql 运行sql“面试官:”你判断端口占用使用netstat ,就是你有了解过,其实这个命令它的开销是很大的“我:”这个我不太了解([狗牛头]毕竟能跑就行)但是用tasklist 也可以查看端口占用“面试官:”行吧“4.计算机网络面试官:”网络工程专业是吧,那我问你点网络基础知识,你从宿舍输入baidu.com,到拿到响应结果期间过程说一下,能说多细就说多细“我:“我在浏览器输入baidu.com ,首先我的主机回去host文件找这个域名有没有对应的ip,没有的话,就去找DNS服务器,如果你没改过,一般DNS服务器地址就是144.144.144.144,域名解析后拿到对应的ip,三次握手后拿到服务器的响应。”面试官:”能不能细致一点,你在宿舍是怎么拿到外网服务器的响应的?“我:”通过路由器转发“面试官:”怎么个转发,宿舍有这么多设备,为什么不是发给你的手机而是到了路由器“我:”网关的最后一位ip地址是1………………“ (我是真的不太会计网[牛泪])面试官:”或者我换个问法,你现在是在厦门,服务器是在北京,或者在广东,你是怎么把请求发过去的而不是发到别的位置“我:“这我不太清楚………………”面试官:”你们专业计算机网络应该学过吧“我:“大一学的忘了[牛泪]”这个问题后面百度了一下,感兴趣的同学看看,或者评论补充答案,我是真的不会[笑cry](https://zhuanlan.zhihu.com/p/339106514)5. 爬虫面试官:”我看你大二实习这边有做过天眼查的爬虫是吗,具体过程说一下“我:”我的任务是,给了我个excel表格,上面有很多公司的名称,一行一行排列,后面几列是空的,需要我把电话号码,邮箱,公司地址等信息从天眼查上爬下来,然后填进去,我是直接爬取的静态网页,观察天眼查网页搜索功能发现,比如说搜索 “百度”,他的url可能就会变成 http://tianyancha.com?search="百度” ,我直接用Java发一个http请求过去,然后返回网页的响应,它是一个字符串,从这个字符串里面截取 “邮箱:”,就能拿到我要的邮箱信息  ”面试官:”那它有些URL是不会变的你怎么搞,比如说你点那些地址,或者子公司什么的,有些他浏览器上面的URL不会变的,是JavaScript发的请求,这种你怎么弄“我:”这个我爬公司专利信息的时候也弄过,比如说我搜,百度,有个专利信息链接,点击后url不会变,但是你打开F12,会看到对应的请求,也是有一定规律,在上一步后面加就行了“面试官:”天眼查这个网站应该要登录吧“我:”要登录,我在浏览器上面登录,登录后到设置,把这个网站上存的cookie,全部复制下来,再用Java 存起来后模拟登录,发送请求“6. 算法面试官:“数据结构与算法90是吧,来两道题”题目一:括号匹配#include<stack>class Solution {public:    bool isValid(string s) {        stack<char> mystack;        for(int i = 0 ;i< s.length();i++){            if(s[i]=='('||s[i]=='{'||s[i]=='['){                mystack.push(s[i]);            }else if(s[i]!='\"'){                if(!mystack.size())                    return false;                if(s[i]==')'&&mystack.top()!='(') return false;                if(s[i]==']'&&mystack.top()!='[') return false;                if(s[i]=='}'&&mystack.top()!='{') return false;               mystack.pop();            }        }        if(mystack.size()) return false;        return true;    }};题目二:数据流中的中位数class MedianFinder {public:    priority_queue<int ,vector<int> ,greater<int>> A;    priority_queue<int ,vector<int>, less<int>> B;    MedianFinder() {    }    void addNum(int num) {        if(A.size()==B.size()){            B.push(num);            A.push(B.top());            B.pop();        }else {            A.push(num);            B.push(A.top());            A.pop();        }    }        double findMedian() {        return A.size()==B.size()?(A.top()+B.top())/2.0:A.top();    }};7.反问部门业务面试官讲了挺长时间,百度地图,还有贴吧什么的,主要介绍SRE工程师负责的内容,和运维开发工程师负责的内容,记不太清了大概是运维开发主要是开发运维平台,而SRE主要是从整体架构上考虑运维成本,运维稳定性,用最少的机器达到最好的运行效果8.总结没问Docker,K8S 可能看我简历也觉得我不太会[狗牛头],计算机网络基础答的一团糟,虽然有过挺多次面试,但是自我介绍还是慌得一批,不知道有没有二面
点赞 16
评论 5
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务