我是一名应届生,我觉得拿到心仪的offer不难

简介: 作者简介:阿里巴巴 nacos 项目管理委员会成员阿里巴巴 spring-cloud-alibaba 项目提交者阿里巴巴 nacos-spring-project 项目维护者阿里巴巴 nacos-springboot-project 项目维护者spring-cloud/spring-cloud-sleuth 项目贡献者阿里巴巴云原生日讲师2019年第一季阿里巴巴编程之夏学员2018年中国大学生服务外包大赛三等奖(国家级)2017年大学生创新创业大赛校级立项2017年杭州电子科技大学互联网+大赛二等


88519D06-874D-4651-8979-6499B25C2A82.png

01起源

不知不觉大学四年时光就过去了,而我,不仅仅是一名应届毕业生,同时,也是一开源项目的PMC。

与开源结缘是在大三上的时候吧,那个时候是由于与同学承接了一个商业外包,因此使用一个WxJava的开源项目,在项目交接之后,我打算用golang重新翻译此项目,因此去学习了一下,在学习期间发现了几个小问题以及贡献了一个优化,算正式与开源结缘了吧。

真正完全参与开源,是从大三下开始,那个时候经常和学长去参与各种技术讲座,比如Flink、Apache APISIX网关的宣讲、Service Mesh、分布式DB、服务治理等等。

然后在四月的一天,学长给我了一个社区群,是有关服务治理的开源项目,而我正好想从理论到玩具的学习方式,转为理论到实践的,将所学真真切切应用在实际当中,从这一天开始,真真切切的开始投入到开源当中。


02前进

参与开源,其过程就好比RPG游戏一般,一路升级打怪,从最开始的在SDK侧新增简单的增删改查功能,到参与维护两个spring生态组建的维护。这期间,重新学习了spring内部的原理。对于Spring的整个设计理解,又更近了一步,能够更加灵活的运用Spring提供的各种钩子去实现用户对于组件的需求。

期间比较自豪的事情,是发现了spring-cloud-seluth的bug,并提交PR进行了fix,其实发现这个问题的路途,比较曲折,最开始是有用户反馈zipkin无法与服务治理中心进行整合,于是我根据带我的PMC提供的资料,去zipkin社区以及他的源码研究了一下,发现zipkin从某个版本开始,他们自己写了一个webserver,因此无法使用spring相关的能力将zipkin-server注册到服务治理中心,因此我进行了一个简单的测试,将注册时机进行了简单的调整。

但是由于过于定制化,因此没有进行回馈(其实问题的根本原因倒不是这个),只是将方案告诉给有此问题的相关用户。后面再持续跟进此问题时,发现仍然有zipkin与服务治理中心存在整合问题,但是这次是客户端,因此进行长时间的问题跟踪调试,最终确定问题的原因,然后进行反馈,提交PR进行修复。

这一次的经历,使得我对于问题的解决,不再是只会埋头谷歌或者百度,而是从问题本身出发,去跟踪、观察问题,并成功解决。


03突破

有了上面一次的经历,使得我更加有信心参与开源,接着,我从客户端转战服务端,真正切入服务治理中心的核心。

而此时,我已经成为commiter了。因此为了能够更好的参与项目,同时符合commiter的身份,我重新开始学习项目的源码、设计,纠正了许多之前第一次看源码时出现的理解误区,对于某些功能模块代码的设计有了更深的理解。同时,高可用的思想也在源码中穿插着,使得我后面在实习中,参与项目的改造时,思考了更多的东西。

成为commiter之后,不知道是不是初生牛犊不怕虎,我接受了内核模块的重构以及去MySQL依赖这两个艰巨的任务。其内核重构设计了一致性协议层的抽象设计、寻址模式的统一、事件机制的统一,其中,最难的莫过于一致性协议层的抽象以及设计了。

其实,但是对于一致性协议了解的不是很多,只是知道CAP、BASE理论而已,因此,接过任务之后,开始各种开源项目源码的探究,比如JRaft、Etcd、Memberlist、hashicorp/raft等等,同时下载了各类的电子PDF进行学习,为我后面的工作打下了一定的理论基础。


04探索

待秋招以及实习结束之后,我正式开始了相关任务的工作,设计文档编写、基础理论支持、相关项目设计学习、代码编写,其实就是一个需求,从成立到最终产出的全过程,其综合性挺强的,这个时候的代码设计不再是随心所欲了,将一个单机的关系型存储变为一个分布式强一致性的关系型存储,其必须保证数据的一致性、事务的ACID性质,需要结合大量的资料以及前人项目的设计进行参考,当时提出的思路方案,就有四五种,其中,为了从数据库内部解决这个问题,还去学习一下apache derby的源码——插入一条数据的流程是怎么样的以及他的master-slave机制的实现,可以说,通过这些的前期准备以及与其他大佬们的交流,使得我后面的代码编写更加游刃有余。


05感想

其实对于应届生的我,参与开源项目并且成为commiter,也算是我的一项优势吧,也正因如此,我在秋招的时候基本是面试一家收获一家公司的offer,其中也不乏SP。

参与开源项目,是一个将理论付诸于生产实践的有效途径,它让你需要考虑各种因素,比如接口设计、新老版本的数据兼容、可扩展性、边界因素的思考等等,同时还会使得自己知识面的横向以及纵向的延伸;不仅如此,参与开源,你需要和世界不同的开发者进行思想的碰撞交流,有时候通过交流,能够使得自己对于自己的设计有更深的认识,发现设计上的不足,同时也锻炼了自己口述、文字的能力。


虽然自己没几天就要去某大厂工作了,但是还是希望自己能够保证工作质量同时深入学习工作方向内容的空闲时间,保持对开源参与的热情,从开源中学习,并将自己学习的知识回馈当中。

相关文章
|
6月前
|
存储 搜索推荐 Linux
秋招简历项目这样写,offer拿到手软(C++方向)
秋招简历项目这样写,offer拿到手软(C++方向)
|
4月前
|
消息中间件 Java 关系型数据库
金三银四,如何远程面试拿下大厂offer?(附大厂面经+面试宝典)
“找工作 3 个多月了,还没有遇到合适的,坐标杭州。”“坐标北京,2 年工作经验,裸辞 1 个月了,Java/Python 方向都在找,投的简历都石沉大海了。”“金三银四找的全是 996 的,双休只有外企和非互联网行业。”“去年冬天被裁员的,今年到现在还没找着像样的工作。”“投了半个多月简历,一个面试机会都没有,送达,已读。”
|
5月前
|
算法 NoSQL Java
懵逼!阿里一面就被虐了,幸获内推华为技术四面,成功拿到offer
上个月,哥们从某小厂离职,转投阿里云,简历优秀,很顺利地拿到了面试通知,但之后的进展却让哥们怀疑人生了,或者说让哥们懵逼的是,面试阿里云居然第一面就被吊打?让哥们开始怀疑自己,是不是这些年工作下来,自己没有一丁点的进步呢?
|
5月前
|
前端开发 JavaScript 算法
字节跳动八进八出,offer到手,发现项目不重要算法才最重要
先进行说明一下,本人刚刚大三结束,去年十二月的时候是投递了字节的视频架构的实习,共三轮技术面+一轮hr面,成功拿到offer实习了五个月。
|
6月前
|
存储 应用服务中间件 API
2023秋招C++后端面试项目推荐,5个项目吃透两个offer拿到手软!
2023秋招C++后端面试项目推荐,5个项目吃透两个offer拿到手软!
|
7月前
|
设计模式 NoSQL Java
栓Q了,大厂被强制毕业,空窗一个月死背八股文,还好拿到了Offer
作为Java程序员,选择学习什么样的技术?什么技术该不该学?去招聘网站上搜一搜、看看岗位要求就十分清楚了,自己具备的技术和能力,直接影响到你工作选择范围和能不能面试成功。
|
8月前
|
前端开发 Java 测试技术
秋招搞个保底offer再说,我换赛道了。
我是24届的应届生,大连某双非大四在读,Golang技术栈,秋招投了100多家公司了,面试有七八家,给机会的大厂也有,比如字节、京东就给机会了,但是都没抓住,都是一面就没后文了。。。 面试结束后,我反思了一下自己,感觉自己还是太差了,基础知识掌握的不够到位,很多问题都只能回答个七七八八,做不到深入叙述,我想主要原因是因为自己没有学,而是直接背的您的学习笔记,这就导致我根本无法对面试官的问题进行进一步延伸。
57 0
|
10月前
|
设计模式 前端开发 算法
面经分享:美团面试也太难了!4面美团终成Offer
这篇文章分享我一个学弟的美团实习面试经历,万万没想到现在大厂实习面试也这么难,下面是他的面经,各位读者老哥可以参考浏览。 美团我是在拉勾网上投的简历,之前也投过一次,简历都没通过删选,后来让学姐帮我改了一下简历,重新投另一个部门,获得了面试机会。10月23日中午HR打电话过来预约了下午4点半面试,说会在线写代码,让我准备好网络环境。结果5点半还没打电话过来,被放鸽子。与hr重新沟通过后,确定下周一下午再面,可是跟hr沟通预约这一套貌似在美团并没有什么用。
|
小程序 测试技术
这份2023软件测试面试技巧,助你拿下满意offer
求职,就像打仗,不仅是一场挑战自己的战斗,也是一场与用人单位的较量。 而求职者只有准备足够充分,才能在这场毫无硝烟的“战场”上取得胜利。 那么软件测试面试需要做哪些准备以及软件测试面试需要哪些技巧呢?
109 0
|
小程序 测试技术
这些可以帮你拿下offer的软件测试面试技巧,不要错过!
想要进入一家软件类公司,拿到软件测试这方面岗位的offer,除了专业的技术知识过硬之外,必要的软件测试面试技巧也是少不了的,那么测试人们在面试过程中又应该如何作答呢?
109 0