第一次线下实习

之前有一次线上实习,主要是做PPT和整理资料,是关于一个外国实验的,跟开发没啥太大关系。所以呢,这次实习对我来说真的是第一次真正意义上的开发实习。实际参与到产品开发中,在从头开始做一个产品模块,最后还成功上线了。这对我来说是一次难得的经历,不仅让我学到了很多实用的技术,也让我对整个从零到一再到上线的流程有了更深的认识。
第一次投简历是在大二的时候,面试的第一个职位是关于QT开发的。那时候完全是第一次面试,过于小白,甚至连自我介绍都没准备,结果不出所料地没通过(QAQ)。我拿到的第一个offer来自一家做数据收集的公司,可能会用到爬虫技术。但那时我因为某些原因拒绝了这个机会,现在想想还挺后悔的,因为这算是我在整个大二离实习offer最近的一次了。
大三的时候我又开始投简历了,因为那段时间脱不开身去不了现场。第一波投递拿了一家不到50人的小公司的远程offer,做了大概两个月吧,主要是做MIT实验的PPT。这段经历最大的收获就是学会了Git的一些操作,像push啊、创建分支之类的,都是那时候学的。还有就是通过这个实习,我强制自己完成了几个MIT操作系统的实验,这实验我一直想做但没做。
然后就开始第二波投递,直接海投了各种方向,两周内投了差不多500到600家公司。最后有10家给了面试机会。其中有几家C++相关的后端岗位来面试的时候,我已经在现在这家做大模型的公司开始实习了,所以只能拒掉了。(cpp真是害人精)虽然最后没去成C++岗,但现在感觉对技术最包容、对学历不是特别卡的其实是那些小私募。实际上,给我面试机会最多的也是这些小私募,3家面试都是小私募,比QT相关的还要多。(这有些反直觉,投之前我一直以为私募是最卡学历的,毕竟招聘要求都写得很严格,实际投的话相对宽容多了)。

第一次实习经历的技术栈和收获

使用Python和Java这两种语言吧。Java主要是用在SaaS平台的代码上,处理从Python那边传过来的数据并在公司的平台上展示结果。其实大部分工作我是用Python完成的。刚进项目就开始写模块,整个项目的周期总共是三个月,这期间的工作完全是我自己做的。从mentor提出想法开始,到进行技术选型、编写代码,再到做简单的承压测试、效果测试以及bug修复,一直到后面上线后遇到问题并进行维护和方案改进,主要都是我完成的。通过这个项目,我也算是熟悉了从想法提出到项目上线再到后续维护的全部流程。
技术栈方面,因为Python和Java之间的互通是通过RabbitMQ消息队列实现的,所以我学习了如何使用RabbitMQ。另外,由于我的模块不能影响主流程的运行时间,所以时间限制非常紧,大概只有2到4秒,这就要求我深入学习了很多Python并发操作的知识。还有去重算法以及在项目过程中遇到并解决的一些实际问题。
总的来说,这次项目的收获真的很大,现在要是让我从零开始做一个东西,心里至少有一套完整的流程了,而在之前主要还是依赖网上的视频进行学习。虽然写的Java代码没有什么特别难的部分,但也补充了不少Java开发的知识。(高傲的cpp,我现在回来了😭)此外,还了解了很多大模型的API接口,学习了如何编写prompt以及一些关于大模型的知识,毕竟这正是公司的核心业务所在。

后续展望

算是有一家微场的Cpp相关远程实习了(C也是Cpp,实验也能沾边🤣🤣🤣),再加上在一家创业公司从零开始完成了一个项目模块的实习。接下来就是把设计模式这部分再好好收个尾,然后把斗地主网络版重构完了继续找实习。争取下一家是大厂吧,暑期和日常就随缘了