首页 » 博客 » 一个实习生的CnosDB之旅

一个实习生的CnosDB之旅

本期Jesse请到了CnosDB的实习生肖明浩,来和大家聊聊他的实习心的体会。肖同学本科毕业于北京理工大学,研究生山东大学在读。作为一个茁壮成长的开源社区,我们也欢迎更多优秀的同学来CnosDB实习。

本文仅代表个人观点,如有偏颇之处,还请海涵~

🤠🤠🤠

一个实习生的CnosDB之旅

 

面试初体验

今年2月份的一个下午是我与CnosDB结缘的开始,面试内容我早已记不清,只记得胖梁问了我一个问题“能详细说说B+树的知识吗?”我答不出来,我坦诚跟胖梁说:“老师,我只学过B树,没学过B+树。”没想到胖梁十分耐心地给我讲解了B+树相关知识。当时我心情很复杂,一方面担心自己没回答出问题可能面试失败;一方面又惊讶于胖梁竟然给我讲了我不会的知识点,这是我以前从未遇到过的事情。幸运的是,由于面试时其他问题回答的还可以,我荣幸成为了CnosDB的员工。而我也在入职那天才发现,原来那天给我耐心讲解B+树知识的胖梁,是我的老板。

职新体验

入职新公司的体验很新奇,和之前其他的实习经历以及项目经历有很大不同。由于是初创公司,人比较少,大家都在一间办公室里,领导和员工看起来没有任何区别。而我作为公司第一个00后,也是全公司最菜的Rookie,办公室的同事们都是我的老师。公司是做开源项目的,所有人都把自己的代码传到GitHub上,Pull Request然后合并。这和之前在学校的项目经历有很大不同,在学校大家都是每人负责一块内容,最后代码合到一起。其实这样的工作流程会有很多问题,每个人闭门造车,如果不了解同组其他同学的进展的话,最后合并代码的时候难免会有问题。而开源公司把一切代码全放在GitHub上,时刻更新代码很大程度上避免了代码冲突的问题,这一模式也为我在读研期间,管理小分队的时候提供了不少经验。

在学习中成长

最开始入职公司的时候是很忐忑的,项目是用Go写的,而在此之前我没接触过任何与Go相关的知识。所幸公司给了我足够的适应时间,我逐步熟悉了这门语言,在此我也要感谢B站上Habour老师《数据库系统讲义》这门课程,他帮我打下了不少数据库研发的基础。在公司第一周的工作让我手忙脚乱,学习使用Docker、Go语言以及SQL相关知识,教我配置开发环境、解决语言问题等等,没有胖梁、老高的耐心指导,我想我无法入门成为一名数据库开发人员。

我在公司从事的主要工作是基础功能的开发和基准测试及相关内容。提到开发,这就不得不夸一下Go语言了。在学校做项目主要用的都是C++和Python,Go在语法上有很多和C++类似的地方,有着面向对象的特性,同时定义函数的方法更为通用。最重要的是,对于一个对代码格式有轻微强迫症的人来说,Gofmt的强制代码格式让我狂喜。同时Go又拥有比Python快几十倍的运行速度,这也难怪市面上许多互联网公司都在往Go方向发展。

成为社区Contibutor

公司的项目是完全开源的,工程师氛围浓厚,推崇一切以代码说话的文化 ——“Talk is Cheap.Show Me the Code”,公司的产品是一款开源高性能时序数据库,作为此前被国外几家公司如InfluxDB、TimeScaleDB所把持的领域,这本身就是一件很值得称道的事情。而我有幸作为其中一员,在整个产品中贡献了自己的代码,看见自己的名字出现在GitHub贡献者名单上,在开源世界中留下了属于自己的印记,我觉得这是我最大的收获。依稀记得我第一次在GitHub提交代码后,反复刷新页面,盯着项目的Contributor名单看,直到自己的名字出现在上面,那种成就感我至今还记得。 事实上在这里,无论是翻译、文档撰写、设计等非代码贡献,还是测试、写代码等代码贡献,都将视为宝贵的参与。在这里,你还会收获一个和谐、热心的开源社区,了解最前沿的技术领域。没有人会在意你是一位资深开发人员还是一名在校学生,真正重要的是你所做贡献的质量。所以还在还等什么? 快来一起参与开源,传承开源精神吧。

我的工作的过程也并非一直一帆风顺,我记得当时要开发关于底层存储文件的相关功能,从部署产品环境学起。为了找到相应的文件,连续导入多次数据,从几个G到几十G,终于找到了符合要求的文件。这一切的进展,都离不开同事们的指点。

最充实的时光

在工作上同事们像我的老师和兄长,在生活上他们更像是我的哥们。在公司上班的时间总是很快乐和充实,每天中午和同事们去附近的团结湖公园溜达一圈,去楼下台球室打会台球,在楼下花坛边吃冰淇淋。工作累了就下楼去便利蜂买酸奶,去瑞幸买咖啡,我总是怀念上班的那段日子。每天能学到许多新知识,能在开源的世界里留下足迹,又能玩得开心。在学校里所学的更多是理论上的知识,课本教给我们各种概念,却没有说如何实现。工作时更多是将理论变为实践,学以致用的过程。读万卷书,行万里路,直到工作时,我才想起课本上那些记不住的概念是什么,有什么作用。现在的我无比庆幸当时通过了公司的面试,我得以有机会将所学知识变为应用,有机会学到更多的新知识。对于一个本科前三年过一天算一天的“日子人”来说,大四上班的日子是我最充实的时光。

 

参与CnosDB社区交流群:

扫描下方二维码,加入CC进入CnosDB社区进入社区交流,CC也会在群内分享直播链接哒