运维开发岗春招实习面试记录

陆续更新了一些题目的答案或笔记 可能看起来有点乱 还是希望对大家有帮助哈~
——————————————————————————————————————————————

腾讯云计算转后台开发一面(电话面):
1、docker怎么使用,容器怎么理解,k8s(简历里写了,但是最早面的,准备的不好)
2、数组和列表的区别
3、tcp time-wait发生在哪个阶段(第四次挥手结束后,等待确认服务器收到客户端发出的ACK报文)
【time-wait客户端主动关闭等待,close-wait服务器被动关闭等待】
4、Linux 查询某个时间点以来的文件?(find -ctime)
5、mysql的了解程度
6、深浅拷贝
加上自我介绍和项目介绍一共20分钟,凉的透

腾讯IEG业务运维一面(视频面):
1、awk指令,-F分隔符  $0 整行 $NF 最后一列
2、运维工具了解么(我说了ansible)
3、docker原理、k8s原理
4、ceph原理,几种存储:块存储、对象存储、文件存储
5、flask有哪些库
6、CI/CD
【CI:编译、测试、输出结果,核心在于新增代码能够与原先代码正确的集成
CD:交付,核心在于可交付的产物,在生产环境可用
CD:部署,自动化,频繁交付】
7、crontab格式【分 时 日 月 周 命令】
8、mysql底层怎么实现索引(数据结构)
9、存储引擎
简历里写到的一点要掌握好,项目介绍的时候也不要吹b,容易挖坑
最后面试官说 你可以回去了解一下蓝鲸
一面凉,45分钟

美团运维开发一面(电话面):
他们偏数据库维护,聊的比较顺畅,几个问题:
1、问题没听懂,差不多说的是ssh怎么去中心化,不用堡垒机,安全登录多远程主机啥的
【paramiko可以实现堡垒机。堡垒机的主要作用权限控制和用户行为审计,执行流程:
  • 管理员为用户在服务器上创建账号(将公钥放置服务器,或者使用用户名密码)
  • 用户登陆堡垒机,输入堡垒机用户名密码,现实当前用户管理的服务器列表
  • 用户选择服务器,并自动登陆
  • 执行操作并同时将用户操作记录】
2、数据库安全,实现数据不丢失(在说事务日志,log那些)
【数据先写到日志中,一定时机,如commit,再写入数据库记录中,undo:取消与回滚 redo:已确认但未写入,前滚】
3、对分布式的了解
4、CI怎么做
5、单元测试框架 mock
6、docker挂载mount 怎么选择
7、平台巡检完了以后,发现资源使用率很小,怎么处理【资源调度切割,灵活扩缩?】
面试官人很好,说实习生有些不会是正常,面了40分钟,结束还说,会和hr沟通,
我心狂喜,感觉面的还行,然,3.23-3.28还没通知二面,官网状态毫无变化
【据说美团不会通知你挂了,一个礼拜没消息应该就是凉透了】
【4.7 更新  时隔这么久  美团发来了感谢信  哈哈哈哈】

腾讯运营开发一面(电话面):
搞不清业务运维、技术运营、运营开发的区别。。。。。
但是问的确实都差不多,根据你的简历和自我介绍,
我很后悔准备不足。。。一次一次一面凉凉好懊恼!!!!
1、tcp、udp区别,tcp怎么保证可靠(我竟忘了拥塞控制流量控制那些东西)
【区别:UDP不可靠,丢包不会重发,顺序乱掉不会纠正。TCP可靠,丢包会重发,顺序打乱会进行排序。首部开销;系统资源。
拥塞控制:对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫做网络拥塞
方法:拥塞窗口,传输窗口。慢开始、拥塞避免;快重传、快恢复。
流量控制:滑动窗口:告诉发送端可以发送的数据大小或标记接收端缓冲区大小】
2、字典的键是哈希的,怎么解决键值冲突
【哈希冲突、哈希碰撞:两个不同的key,经过哈希函数计算出相同的结果
1、开放寻址法:按照一定规则(线性向下/平方探测)向其他地址探测,直到遇到空桶
2、再哈希法
3、链地址法:比如通过链表将同一索引的元素串起来】
3、操作系统终端(还是中断)处理机制
4、怎么查看进程占用的端口(netstat -tlnp | grep 进程)
5、vue的路由机制
6、数据库 索引 聚合索引 in是否可以具体定位到值?
7、paramiko机制
8、全球新冠感染超40万人,怎么找出40万人里年龄最大的1000个人
【1、堆排序,小顶堆,替换堆顶元素
2、快速排序:中心轴,左右下标
3、分块查找】
发挥的也不好,问的也不会,半小时吧,凉的也很快

合合信息运维开发实习生:
主要沟通交流,大概记录一下他们的运维开发在做些什么:
1、CMDB资产管理
2、机房维护
3、云的环境复杂,属于混合云
4、数据库维护
5、网络、负载均衡
6、监控相关做自动化处理
7、堡垒机授权、服务器申请
8、代码管理(gitlab、jenkins)
总体上运维开发人员都要掌握web开发的技能,flask和vue刚好比较主流,
数据库上,mysql还是很强大

仙途智能测试开发:
迫于生存无奈,准备投一些测试岗了
1、对测试和运维的理解,他们的区别(测试保证质量,运维保证稳定)
2、CI
3、一个字符串分词匹配的题目
4、索引怎么用
5、python map怎么实现

【又是一次凉凉的面试,2021届的兄弟姐妹,一定要好好苦练基本功啊,临时抱佛脚的我好惨】
腾讯云技术运营一面(视频面)【害 被捞了四次了  次次被捞次次凉  刚总结好上次的经验 新的面试又是新的题】
1、tcp 三次握手标志位的设定
2、网页访问不了怎么处理,api挂了
3、怎么提高web服务后台性能,单进程、单点那些
4、每一行一个ipv4地址a.b.c.d,如何实现按a列的数字大小排序,再按b、c、d依次排序
5、*****log里第一列是ip,查出当日访问top4的ip
【cat XXX.log | awk'{print$}' | sort -n | uniq -c | sort -rn | head -4]
6、进程、线程、协程

【协程不是进程也不是线程,而是一个特殊的函数,这个函数可以在某个地方挂起,并且可以重新在挂起处外继续运行。所以说,协程与进程、线程相比并不是一个维度的概念。

一个进程可以包含多个线程,一个线程也可以包含多个协程。简单来说,一个线程内可以由多个这样的特殊函数在运行,但是有一点必须明确的是,一个线程的多个协程的运行是串行的】

7、restful理解
REST,表示性状态转移(representation state transfer)。简单来说,就是用URI表示资源,用HTTP方法(GET, POST, PUT, DELETE)表征对这些资源的操作。
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据。

😂我好菜,我不想面春招了  我差太多了

合合科技二面:
1、查看80端口的进程:netstat -tlnp | grep 80,参数含义:-tlnp:TCP类型的端口 -ulnp:UDP  -an 查看网络端口
2、正则表达式 .* 和 .*?的区别:
.* 就是单个字符匹配任意次,即贪婪匹配;
.*? 是满足条件的情况只匹配一次,即最小匹配;
比如:<H1>Chapter 1 - 介绍正则表达式</H1>
使用/<.*>/匹配的结果为:H1>Chapter 1 - 介绍正则表达式</H1。
使用/<.*?>/匹配结果为:H1。
3、Linux查看路由路径:traceroute 路由跟踪
【traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute的原理是试图以最小的TTL(存活时间)发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38个字节。】

4、tcp连接过程 close-wait发生在哪个阶段,大量close-wait怎么查看
【netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT(通过优化系统内核参数可容易解决)

TIME_WAIT是主动关闭连接的一方保持的状态,对于服务器来说它本身就是“客户端”,在完成一个爬取任务之后,它就会发起主动关闭连接,从而进入TIME_WAIT的状态,然后在保持这个状态2MSL(max segment lifetime)时间之后,彻底关闭回收资源。为什么要这么做?明明就已经主动关闭连接了为啥还要保持资源一段时间呢?这个是TCP/IP的设计者规定的,主要出于以下两个方面的考虑:

1.防止上一次连接中的包,迷路后重新出现,影响新连接(经过2MSL,上一次连接中所有的重复包都会消失

2.可靠的关闭TCP连接。在主动关闭方发送的最后一个 ack(fin) ,有可能丢失,这时被动方会重新发fin, 如果这时主动方处于 CLOSED 状态 ,就会响应 rst 而不是 ack。所以主动方要处于 TIME_WAIT 状态,而不能是 CLOSED 。另外这么设计TIME_WAIT 会定时的回收资源,并不会占用很大资源的,除非短时间内接受大量请求或者受到攻击。

解决方案很简单,通过修改/etc/sysctl.conf文件,服务器能够快速回收和重用那些TIME_WAIT的资源

CLOSE_WAIT(需要从程序本身出发)

TCP状态转移要点

TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源.
TIME_WAIT状态可以通过优化服务器参数得到解决,因为发生TIME_WAIT的情况是服务器自己可控的,要么就是对方连接的异常,要么就是自己没有迅速回收资源,总之不是由于自己程序错误导致的。
但是CLOSE_WAIT就不一样了,如果一直保持在CLOSE_WAIT状态,那么只有一种情况,就是在对方关闭连接之后服务器程序自己没有进一步发出ack信号。换句话说,就是在对方连接关闭之后,程序里没有检测到,或者程序压根就忘记了这个时候需要关闭连接,于是这个资源就一直被程序占着。】
5、http1.0和2.0的区别
【1、HTTP1.0 HTTP 1.1主要区别
  • HTTP1.1默认支持长连接
  • HTTP 1.1支持只发送header信息(不带任何body信息),节约带宽
  • web server上的多个虚拟站点可以共享同一个ip和端口,HTTP1.1支持host域
2、HTTP 1.1、HTTP2.0主要区别
  • TCP连接有一个预热和保护的过程,先检查数据是否传送成功,一旦成功过,则慢慢加大传输速度。因此对应瞬时并发的连接,服务器的响应就会变慢。所以最好能使用一个建立好的连接,并且这个连接可以支持瞬时并发的请求。HTTP2.0使用了多路复用的技术,做到同一个连接并发处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级。
  • HTTP1.1不支持header数据压缩,HTTP2.0使用HPACK算法对header的数据进行压缩,这样数据体积小了,在网络上传输就会更快。
  • 当我们对支持HTTP2.0的web server请求数据的时候,服务器会顺便把一些客户端需要的资源一起推送到客户端,免得客户端再次创建连接发送请求到服务器端获取。这种方式非常合适加载静态资源。服务端推送过来的资源,会统一放在一个网络与http缓存之间的一个地方,在这里可以理解为“本地”。当客户端把index.html解析完以后,会向本地请求这个资源。由于资源已经本地化,所以这个请求的速度非常快,这也是服务端推送性能优势的体现之一。

6、堆栈和队列的共同点:栈是先进后出的,队列是先进先出的,共同点是只允许在端点处插入和删除元素。
7、数组[13,18,24,35,47,50,62,83,90,115,134]二分查找83,要经过多少元素
8、本科和研究生分别是电气和自动化,未来的职业规划


网易互娱运维一面(听不太清讲的啥。。):
1、git 使用 gitlab的拓展功能 ci之类的
2、docker隔离原理,docker服务挂了怎么获取日志
【Docker的隔离性主要运用Namespace 技术。传统上Linux中的PID是唯一且独立的,在正常情况下,用户不会看见重复的PID。然而在Docker采用了Namespace,从而令相同的PID可于不同的Namespace中独立存在。如,A Container 之中PID=1是A程序,而B Container之中的PID=1同样可以是A程序。】
3、top  free 内容
【top:实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.
第一行:load average: 0.02, 0.04, 0.05 系统负载,即任务队列的平均长度,  三个数值分别为  1分钟、5分钟、15分钟前到现在的平均值。
第二、三行为进程和CPU的信息。
最后两行为内存信息。
free -h : shared 进程共享的内存】
4、grep参数 取反 -v
5、查看shell返回值 $?
6、装饰器使用场景
7、DNS域名解析
【本地DNS服务器>根DNS服务器>顶级域DNS服务器>权威DNS服务器】
8、mongodb主副机制
9、python判断参数类型、可变类型 不可变类型 instance之类的
10、put什么时候用
【http方法:
get发送请求获取服务器上的资源
post向url指定的资源提交数据
put 提交数据,但是指定了资源在服务器上的位置】
11、restful api规则
12、访问权限
13、******log 最后一列 ip排序 前十

携程运维一面:
1、linux上服务器网卡配置
【/etc/sysconfig/network-scripts/ifcfg-* BOOTPROTO=static静态IP/dhcp动态IP】
2、多网卡怎么配?
*
3、路由分配
*
4、访问网站的具体过程
  • 域名解析成IP地址
  • 与目的主机进行TCP连接(三次握手)
  • 发送与收取数据(浏览器与目的主机开始HTTP访问过程)
  • 与目的主机断开TCP连接(四次挥手)
首先通过域名找到IP,如果缓存里没有就要请求DNS服务器;得到IP后开始与目的主机进行三次握手来建立TCP连接;连接建立后进行HTTP访问,传输并获取网页内容;传输完后与目的主机四次挥手来断开TCP连接。】
5、一个网点,多个域名,怎么区分
【??nginx代理 提供一个端口多域名服务方案??】
6、cpu 内存 磁盘 使用率高了要怎么处理

7、linux目录大小查看(eg. du)

8、python web服务怎么调用(类比于.py 用import)

9、python多进程怎么实现
【multiprocessing模块】
10、一个有序数组,找到给定value的下标

11、重定向及使用场景

岗位核心竞争力:基础架构、底层、OS、协议栈



许愿春招给个像样的offer吧5555555



#腾讯面试##腾讯##美团##携程##合合信息##实习##运维工程师##面经#
全部评论
美团有给你消息不?
点赞 回复
分享
发布于 2020-04-07 15:26
大佬腾讯过了吗
点赞 回复
分享
发布于 2020-04-07 18:22
阅文集团
校招火热招聘中
官网直投
大佬合合科技过了吗
点赞 回复
分享
发布于 2020-10-27 22:42
想问下楼主,运维开发的前景如何呐,会不会不好发展(跳槽)呢
点赞 回复
分享
发布于 2020-11-13 12:45

相关推荐

头像
不愿透露姓名的神秘牛友
04-10 18:19
已编辑
实习 实习 0 硕士双一流
点赞 评论 收藏
转发
13 93 评论
分享
牛客网
牛客企业服务