云计算方向秋招总结
9/22补档:
- 阿里云:由于实习面过,有一个直达终面的机会,HR比较nice,问的也是职业发展,对云原生技术、社区的关注,总的来说面试官和HR都挺nice
- 蚂蚁:一面电话面30min,开场聊项目,围绕项目聊容器、K8s没有很生硬的八股和发问,所有问题都是结合项目问出来的(阿里系好像都这样)
9/27补档:
- 阿里云:团队的技术人员电话了一下,聊了下组内的业务和后续流程的问题
- Momenta:VP面,第一次接触这么高职级的面试官,果然大佬都很Nice!
秋招两个月以来一直在牛客上看大家的面经和经验帖子,非常感激各位牛友的无私分享,由于秋招一直不是很顺利,所以没有心情记录面经,只能靠回忆总结一下秋招以来的心得体会,主要还是面向云计算、云原生方向,不过我的知识理解和写作笔力有限,有讲的不对的地方请大家不吝斧正,我也可以进一步学习了解一下,如果大家觉得感兴趣,也欢迎和我讨论。
背景
由于我一直在做云计算(主要是云原生)方向,所以主要的技术栈是kubernetes、容器、golang为主,附带os、虚拟化、安全容器的少量知识。一开始觉得容器编排的发展方向不错,计划以后扎根容器编排这个比较有前景领域,做Kubernetes的深度开发,但是在实际的秋招过程中发现以前太理想化了,今年行情大环境不好,基础架构部门不属于直接盈利的组,HC情况非常不乐观,不过云原生方向的开发人员还是有很多可以去的方向。
哪些行业、岗位适合云原生开发的同学?
在实际的面试时和各个部门主管、实验室师兄聊的过程,发现做云的同学在很多公司都有相应的部门可以去
最直观、最匹配的
各个互联网大厂的基础架构、基础平台、云原生部门:如头部大厂的阿里云云原生、字节基架paas团队,美团的基础平台等,区别无非是有的主要是面向内部的业务,不过这类部门今年的HC普遍不乐观(不然我也想去.jpg)。
传统云计算
最近在面试过程中越来越感觉到,Kubernetes只是云计算的一个容器编排的工具,虽然容器市场的前景还算不错,但是很多云厂商还要传统的虚拟机、边缘计算、CDN业务支撑,这些业务今年的HC明显会更多,实际的场景也梗丰富。从未来的职业发展来看,个人觉得去这些部门也很好:一方面从技术上,linux容器可以考虑成进程的虚拟化,但是在安全性、网络性能等方面有很多优化的空间,所以不论是做安全容器、还是内存、IO的优化,以后有很多需要从虚拟机的优化技术获取idea,如SRIOV、OVS网络等;从业务方面来看,以Kubernetes为主的容器编排拓展性是很好,但是它毕竟只是一个开源框架,但是更多的还是要考虑业务本身做什么和自己的职业规划,需要面向具体业务定制化。
自动驾驶——计算任务调度
自动驾驶公司面试过蔚来自动驾驶pnc和momenta的基础架构,由于这些公司都是自动驾驶方向,他们更多的需要点在于:需要海量数据来进行计算、仿真、控制的诸多领域,要完成车端到云的双向数据链路,所以在业务上以数据驱动为指导。具体到云原生技术,前述的计算任务可能会用容器承载(不一定是spark on k8s、flink on k8s那种意义的大数据平台云化),他们需要容器编排框架来做计算任务的分配,可以理解为自动驾驶产品+云原生技术。
量化、AI公司——GPU算力平台
这部分比较直观,量化公司如幻方、九坤,还有旷视、商汤这些公司需要大量的GPU资源,他们搭建的云平台主要用来跑深度学习模型,这一层需要任务调度、资源分配、甚至可能需要GPU虚拟化(这个比较难搞),也会需要云原生技术栈的开发人员。不过目前我没有面试这类公司,后续如果有面试之后再补充吧。
面试分享
云原生方向的面试、个人理解包括几个部分:
- CS基础:OS、网络
- golang:runtime层面的gc、调度、对内存管理等;常用的interface、mutex、闭包、channel等的底层实现
- 容器\运行时:cgroup,linux namespace,UnionFS(经典三件套),LXC,runc,安全容器(runv、gvisor、kata)
- Kubernetes:各个组件底层(最好过一下源码的主要逻辑),主要是scheduler的流程、打分算法;kubelet会结合CRI问;kube-proxy会结合CNI问;controller会结合client-go问,最好有client-go使用经验,需要看一下源码
- 了解CNCF社区动向:kubevela、volcano、kubecruise、istio、prometheus之类的可以了解下设计思想积累业内的最优实践
- 蔚来:偏基础,一面聊了linux系统引导、实模式/保护模式切换、中断向量表/描述符表的(面试官以前搞嵌入式的:) ),后续的面试偏向计算任务场景设计(K8s+计算框架设计)
- Momenta:偏向计算任务场景设计(K8s+计算框架设计),CS基础知识、容器技术、Kubernetes都问的也很深,很高质量的面试
- 美团云原生:中规中矩的云原生面试
- 华为云云原生:手撕相对其他几家难一点,云原生的一些基础知识
- 字节大数据:方向不匹配,问的比较基础,问了一些operater开发知识
- 字节paas:Kubernetes问的比较深,会聊到社区动态和实践(相谈甚欢然后感谢信了)
- 字节边缘云:CS问的基础很深,会深入到了非常底层的现代Linux实现,面试官很强,知识面很广
- 百度ACG云主机:做虚机这一层,问CS基础比较多,Kubernetes的CNI问的比较深
- 联想:也是做边缘计算的,面试比较简单,每场30min左右
- 阿里云:由于实习面过,有一个直达终面的机会,HR比较nice,问的也是职业发展,对云原生技术、社区的关注,总的来说面试官和HR都挺nice
- 蚂蚁:一面电话面30min,开场聊项目,围绕项目聊容器、K8s没有很生硬的八股和发问,所有问题都是结合项目问出来的(阿里系好像都这样)
后续有机会再补充一下细节吧:)