头图

小猿姐说

在 ApeCloud(云猿生数据)实习是怎样的体验?杨惠根同学将自己面试、实习到转正的体验汇集在这篇投稿中,让我们跟着他的文章一起来感受下 ApeCloud 的实习氛围吧~

另外,ApeCloud 还长期招收实习生,可点击 👉 2024 实习招募令 👈 了解详情&投递简历~欢迎加入我们,共建下一代云原生数据基础设施。

以下是投稿正文,enjoy!

前情提要

本人于 2023 年 4 月加入 ApeCloud,至今已实习一年有余,且已经签完三方协议,到 7 月就可以正式入职成为 ApeCloud 的正式员工啦。这里简单回顾一下自己一年的实习感受。

初识 Apecloud

去年春天我正忙于寻找暑期实习,由于一心想离开北京,杭州的阿里成为了不二之选。我在 2 月就投递了阿里云的提前批招聘,但是阿里云 HR 缓慢的进度以及其他公司 HR 的催促让我有些焦虑,一方面担心自己接受了其他公司丧失了来到杭州的机会,另一方面也害怕拖到最后阿里云终面不过变成一场空。很巧的是这时候在学校的实习群里看到了燧木师兄发的广告,没错,就是下面这张。

可扫描海报二维码,投递简历&加入实习招聘群

图片中阿里云团队的信息吸引了我,抱着试一试的态度我添加了燧木师兄的微信并投递了简历,很快地就与凌策师兄进行了初面,并在第二天和鸣嵩老板完成了二面,最后定下 offer。一切都是行云流水,整个流程甚至不及阿里云一面到二面的时间长。对我而言到一家创业公司实习很有挑战,我之前并没有 K8s 的相关经验,只是使用过 Docker 和接触过些许微服务,但是鸣嵩老板在面试时说只要我爱写代码喜欢折腾技术,那就可以到杭州来和大家一起学习,这激起了我这颗想折腾的心,综合考虑之下最后鸽掉之前的所有 offer 拖家带口(其实只有女朋友和两只猫)来到了杭州。

初入Apecloud

First day 印象最深的就是公司的环境是真好,虽然不大但是一点也不拥挤,每个人都有一张超大的升降桌和超大的绿植,再加上一把 Herman Miller,不得不说对我这样的职场小白真是杀伤力十足。(下面这张是盗的宣传图 👻)

一开始,我跟着宣驰师兄在学习命令通道相关的知识,命令通道作为 KubeBlocks 中屏蔽多引擎差异的交互方式,不可避免地要接触相当多数据库引擎的知识,对于我这样只用过 MySQL,PostgreSQL 和 Redis 这些最常见数据库的小白来说着实压力不小,前一个月我的印象就是不停地在读文档,读了 Dapr 又读 Kafka,同时阅读 KB 的源码熟悉命令通道。说实话当时也挺焦虑,同期进入的同学已经合入了一个又一个 PR,好在公司并没有给我压力,让我得以在前期恶补了相关知识。

5 月我开始学习 HA(High Availability)的一些知识,整个月我几乎都在扒 Patroni 这个开源项目,如此细致地学习一个开源项目的源码对我来说也是第一次,之后我尝试用 Golang 复刻了一部分 Patroni 的核心逻辑。尽管复刻的代码之中有很多缺陷以及考虑不周的地方,但这个阅读源码并自己动手写的过程着实让我成长非常快,我也很享受这个学习的过程。也是在这个过程之中我加深了对公司的印象,若是在其他公司很难有这样长的时间让我成长。

逐渐升温

进入盛夏,天气愈发炎热,我也愈发融入了公司。此时我已经非常适应公司灵活的上下班节奏,不仅可以较好地完成工作,还可以兼顾自己的生活。在工作上,我经常会和身边的同事请教交流,尽管我只是一个实习生,但大家丝毫不会吝啬自己的解答,这样平等的沟通氛围对我而言体验非常不错。

同时在交流中我也深刻感受到大家的水平之高,我在数据库行业方面的知识还不够宽,设计时经常会陷入仅站在 MySQL 或 PG 视角思考的问题,但师兄会准确地指出我思考的缺陷并给出修改意见。而一些我冥思苦想的问题,在很久之前大家就已经遇见。

印象非常深的一次是我在本地调试的时候发现 pod 无法正常解析 headless service 的域名,我开始反复检查我的 CD(Cluster Definition) 等配置文件,在确认 yaml 的确无误后,我又去查了 service,headless service,endpointslice 等对象的细节,最后在翻 endpointslice 时发现其有 ready,serving 和 terminating 三个字段来表示端点的状态,后又查阅了对应源码和注释,花费了大半天我才发现是 pod 内另一个 container 一直重启导致整个 pod 没有 ready,最后简单调试使得 pod ready 之后域名果然可以正常解析了。经过一顿折腾最后得出一个可能的猜想:headless service 在 pod 未 ready 时是无法解析域名的,这确实有些违背我的直觉,一开始的时候根本没想到域名无法解析会是另一个 container 引起的。我把这个过程写在了日报中,没过几分钟,子昂师兄就给我评论:

「headless service 在 pod 未 ready 时是无法解析域名的」,这个是 K8s DNS 服务发现规范要求的行为,可以看下 https://github.com/kubernetes/dns/blob/master/docs/specification.md#24---records-for-a-headless-service

这着实让我不得不佩服大家作为行业老兵的技术修为

决定留下

之后的留下的决定对我来说也是顺理成章,经过几个月的实习生活之后,我非常认同公司的文化,同时也很享受与大家一起工作学习的日子。在与鸣嵩老板聊过之后,放弃了其他大厂的 offer,与其他几个同学一起决定留在 ApeCloud 转正,并在学校下发三方协议的第一时间就与公司签完了三方。

再之后一边努力完成毕业的相关工作,一边断断续续地参与公司的工作一直到现在。一年的时间过得很快,但成长也很快,希望在 7 月转正之后可以迎来自己的新篇章,与大家一起继续前进!

End

小猿姐诚邀各位体验 KubeBlocks,也欢迎您成为产品的使用者和项目的贡献者。跟我们一起构建云原生数据基础设施吧!

💻 官网: www.kubeblocks.io

🌟 GitHub: https://github.com/apecloud/kubeblocks

🚀 Get started: https://kubeblocks.io/docs/preview/user_docs/try-out-on-playg...

关注小猿姐,一起学习更多云原生技术干货。


小猿姐
6 声望1 粉丝

每个开发者都想知道的云原生和数据库技术