大家好,我是秋意零。今天分享一篇小米运维面经。
小米K8s运维-云原生方向
一面
2024年4月3日 | 10点 | 一面 | 40 min 左右
1)自我介绍
2)你熟悉Python多一点吗?还熟悉其它语言吗,拿出来写过的?
3)你是软件工程专业,为啥JAVA用的不多呢,没写过对应项目?
4)运维是自己学到吗?
5)运维通过什么样子方式学习?
6)我们坦诚的说,去参加过培训班吗?
7)OpenStack是你自己搭建的吗?
8)OpenStack有几个关键组件?
9)搭建过程中有遇到什么问题吗?
10)OpenStack的版本是根据什么排的?你用的那个版本?
11)实习经历:优化云资源是做的什么?
12)资源的线下,如何判断他的资源上下游关系呢?如果查看进程的话,如何判断是咱们自己写的应用?
13)K8s的东西了解的很多吗?
14)镜像跟容器的关系
15)我们想制作一个镜像,大概有几种方式?
16)使用过Dockerfile打包过镜像吗?
17)Dockerfile里面的CMD什么意思?
18)K8s还了解什么?有创建过Deployment、StafulSet,有使用过吗?
19)K8s集群中将服务暴露出去,不区分是集群内还是集群外,有几种方式(加分项)
20)开发题目:两数求和,数组 nums = [2,7,11,8] target = 9。输出 [0,1] 因为 nums 数组里面 2 + 7 等于 9,取出下标。
def two_sum(nums, target):
# 获取数组的长度
length = len(nums)
# 遍历数组中的每个元素
for i in range(length):
# 对于当前元素,遍历其后面的元素,与其相加判断是否等于目标值
for j in range(i+1, length):
if nums[i] + nums[j] == target:
# 如果相等,返回两个元素的索引
return [i, j]
# 如果没有找到符合条件的两个数,则返回空列表
return []
# 测试
nums = [2, 7, 11, 15]
target = 9
print(two_sum(nums, target)) # 输出 [0, 1]
反问:
1)该岗位一天的工作情况是怎样的?
2)该岗位对应届生更偏向看重什么技能?
二面(他人)
1)栈和堆的区别?哪个需要手动释放?(√)
2)closewait是在哪?(√)
3)Https为什么要用对称加密,一直非对称加密不可以吗?(不知道怎样才对)
4)配置证书需要在客户端和服务端都配置吗?(不知道怎样才对)
5)怎么确保K8S集群的稳定性?(监控,容量,二进制部署)
6)那你觉得你列出的这些指标哪个最重要?(gg)
7)那你觉得监控需要监控啥?(gg)
8)K8s的Pod的创建过程?K8s调度器是怎么知道要调度的?(√)
9)K8s创建容器的原理?(√)
10)K8s的informer机制知道吗?写过Operator和Controller吗?他们俩的区别?Operator只用来部署的吗?(gg)
11)进程和线程的区别?(还行)PCB里有什么?线程共享的(g)
12)进程通信的方式?里面哪些涉及内核?(半gg)
13)客户网页访问不通,如果无法登录机器如何排查?(√)
14)如果发现服务很慢,进机子后怎么排查?那如果发现cpu不高还是卡怎么办?(io、内存、cpu、网络)
15)监控的直方图了解吗?几种数据类型知道吗?P95、P90知道是什么吗?(gg)
16)有写过什么脚本吗?
13)两道算法题