likes
comments
collection
share

追求不寻常:一个大学生的编程历程与找实习故事

作者站长头像
站长
· 阅读数 26

好不容易暑期实习有个厂要我了,想写写我这一路来的历程。

大学开发经历

我是重邮的一名大三学生,我在大一的时候,参加了我们学校的红岩网校,从此入了移动开发这个坑,从此与 Android 开发绑定了(最后还是被红岩网校淘汰了)。后来才知道移动开发是个大坑,但都学到这里了,就只能继续了。

不提就业,搞 Android 确实是很有乐趣的一件事情,个人感觉比后端有意思的多,因为可以做出一些真有实际需求的东西。如果天天花时间浪费于你所在领域的“黑马点评”和“瑞吉外卖”,再加上准备的时间很长,兴趣很快就会磨灭,深入理解代码的过程就是纯坐牢,所以这也是为什么我喜欢做不太寻常的软件。

还记得在大一,我们学校的教务在线漏洞比较多,通过某些接口,能直接获取学生的个人信息、学籍证明和个人照片,我当时就利用我极为有限的 Android 开发知识,凭借着非常想做出一个能用的软件的决心,制作出了一个“重邮工具箱”。后续我也不断更新着软件,疫情时期,做出了一键打卡功能;抢课时期,做出了一键抢课功能。我在做这些功能的时候真是夜不能寐,满脑子都是在想怎么做才能实现功能。就是这种毅力,让我的编程能力突飞猛进。

个人项目总归是一个人单干,以后面对的肯定更多是多人合作项目,所以我到处寻找合作的机会。由于我之前是看 ASOUL 虚拟偶像的,在刷 B 站的时候,无意中发现有人竟然在搞一个粉丝向软件 AsAsFans,因此我迫不及待地私信主办,询问他们那里还需不需要 Android 开发。他们也很欢迎,没过多久,我也投身于这个软件的开发当中。可惜的是,最后这个项目黄了,还遇到一个逆天的事情——跟我合作的那个人直接把他们公司的工具类代码直接拷贝到项目里并上传到 GitHub 了!我差点被他们公司发律师函了,最后还是那个人让我把仓库隐藏了才摆平的。这次经历确实让我学到了很多个人开发难以学到的知识,同时也明白了两个道理:开发人员越多不一定效率越高;公司代码千万不能外传。

但是,这些还是不够重量级,并没有很好地体现出不太寻常,所以我在大一下学期的时候,开了一个新坑,做了一款在我大学之路上影响我最大的软件,维护至今。

我不信你没听说过 EhViewer,它作为享誉全球的开源看本子软件,给了我很清晰的思路,与其花时间去做一些没人用、烂大街的“记事本”、“备忘录”或者“记账本”,为什么不去做一些开源的、真正解决大家需求的软件呢?那个时候,我开始寻找还有什么中大型网站没被挖掘。Pixiv?太多人做过了;Exhentai?一样;甚至当时都没有网页端的 Bika 都有第三方客户端。这无疑磨灭了我的热情。

在我毫无思路的这段时间里,一位群友的浮力链接让我豁然开朗。该网站规模较大,而且使用人数众多,很长时间不跑路。随后我在 GitHub 上搜索该网站是否有第三方软件,竟然无结果,这正是一个绝妙的机会!自此,一个致敬 EhViewer 的项目正式启动。

从立项起,这个项目的 stars 数不断上升,到现在有望突破 1k stars,下载量 100k+ 次,上了各大搜索引擎候选,还有人把我开源软件偷偷卖,b 站还有人把我软件名当作昵称,连同名域名都被抢注了,可以说是够火了。其实这并不是最重要的,重要的还得是 issues 和 pr,无论是他们上报的 bug,还是提供的 feature 请求,都带来了和自己写着玩不一样的感受。如何保证兼容性,如何保证易用性成了重要的问题。做一个开源软件学到的知识比自己在私底下写学到的要多得多,说不定还能结识到很多开发者(我是没有),甚至有人会自发地想赞助你(有人想赞助我,但我是不敢开)。换一个思路,当你想测试一个新功能或者新库,只需要发一个 release 包,就会有成千上万台机器安装,其中有 10% 的人会给你反馈,对于一个没钱去买各种设备的小开发者来说,已经算可以了。

总结

正如我开头所说,如果时间充裕,不要天天花时间浪费于你所在领域的“黑马点评”和“瑞吉外卖”,多搞点不寻常,比如喜欢动漫的搞点动漫相关,从不寻常中学习知识要比从烂大街项目中学习快很多很多。EasyBangumi 就是个很好的例子,也是一个喜欢二次元的大学生从大学阶段开始写的正经开源看番软件,我看他现在也入职了腾讯音乐部 Android 开发。但是,如果你写的不寻常软件有点不正经,那还得是做上一两个正常的软件,不然简历不好写,哈哈。

找实习

个人能力只能说是比上不足比下有余,虽然看着经历感觉我有点东西,但其实也没什么东西。找实习的经历并不如你们丰富,我也不是什么 offer 收割机,但还是想谈谈。

大二下

大二下算是比较尴尬的时期。

我看我们学校一堆大佬都是这个时候开始找实习,我也盲目从众开始找。当时确实也觉得自己很行,一上来就开大招投字节岗,但让我没想到的是,竟然过了搜索岗简历关。过了几天,HR 给我打电话,问我实习时间,当时课很多,我支支吾吾不知道怎么说,也不敢骗他,就把事实全部告诉了他。之后内推我的人也跟我说我现在才大二,不着急找,然后流程结束了。

当时正逢疫情时期,我也投过一次小红书,我傻乎乎地问 HR 能不能远程实习,因为我学长那个时候去小红书有过远程实习的经历,最后果不其然地也挂了。

这一段时期一次面试也没体验过。

大三上

大三上主要是集中于寒假,当时考完试没什么事情做,想找个活干一干,遂又找了学长内推了一下日常实习。

我们都知道,面试大概率是要考计算机网络和操作系统的,我们课程安排的很特殊,大三下才开课,所以我当时计网和操作系统只懂个皮毛,面经以外一律不懂。但是我看我们学长的面经,如果不懂计网或操作系统,直接跟他说就好,他可能就会少问一些,甚至不问。这也让我更有底气去投简历。

幸运的是,这次终于约到面试了。一面比较基础,虽然问了几个计网问题,但都是常规问题,80% 都能回答上,所以很快约到了二面。当时真的很激动,能过大厂的一面对我来说不是一件小事了,很快我就投入到二面的复习当中。

只能说是复习的还是不够充分,有些我现在能立即脱口而出的八股题,当时完全不知道怎么回答。而且这个面试官看我不懂计网和操作系统仍然一直问,我现在都记得面试官问我的那句话:“你都大三了,还没学计网和操作系统吗?”最后果不其然地挂了。内推我的人也说,你虽然没学,该背还是得背。

挂了就挂了,当时难受了好几天,不过现在想想也没什么遗憾的。大三下我们的课仍然多的要死,就算过了,也实习不了几天,权当是练习面试了。

大三下

大三下是关键时期,不找也得找。一是为我下半年可能申请水硕的简历增添一些亮点,二是为了给我工作简历添加一个实习经历,因为什么硕都是为找工作服务的。

由于课程繁多,我只能拖到 5 月份开始找,这个时候 hc 可以说是稀少中的稀少。我先找学长内推字节,投了飞书、今日头条,却都没怎么有人回。过了几天,懂车帝方向突然给我打电话,问我考不考虑,我非常激动地同意了。可惜的是,明明答得还行,算法也做出来了,面完之后还是很快地挂了。

我随后又去找了在快手的学长内推了一下,很快收到了相关岗位的面试邀请。据该学长说,该岗位就两面,而且二面是他们 leader 直接面的,当时聊了聊天,做了个一般算法就过了。我在面试的时候,一面的强度略大,出了五六次代码题,但我基本都做出来了,最后也过了。我到现在都记得一面面试官对我说过的一句话:“我看过你的 GitHub,写的代码挺那啥的。”后面也对我的那个最有成就感的项目避而不谈,哈哈。私以为二面就是走走形式,快手 offer 势在必得,没想到他 leader 反其道而行之,基础知识问了 20min 左右直接开始让我判断版本号和手撕 LRU。我好久没刷过判断版本号了,做的有点问题,导致有点心虚。我还以为就这一个算法题,但当他又给我出了一个手撕 LRU 后,我脑子瞬间清空了(Android 岗算法题一般稍简单)。快手之旅从此泡汤了。

泡汤的那会是我心情最低沉的一段时间,心情天天压抑的不行。在床上睡觉的时候,我的心脏就跟陷进去了一样,睡也睡不好,玩也玩不爽。我之前也在牛客上吐槽过:真正让我难受的不是一面挂二面挂,而是当我投了好多简历,但手中只有一个面试机会时,却在最接近 HR 面的时候挂了,那种无力感太强烈了。出去吃饭的时候,由于没女朋友,只能打电话给我妈诉苦,一聊就是半小时。

当时真是病急乱投医,我开始在 BOSS 直聘上疯狂投递,同时也去各大厂官网投,继续找我学长内推。最啼笑皆非的是,我找了在小红书北京、上海的两个学长内推,却一个也没通过,反而我自己去官网投递,过了。我也没想到,我认为最没希望的小红书,反而要了我。

我不得不说找实习确实得看命、看运气。我上次在牛客上看到一个人说的很有道理,现在很多人光以学生高考思维去理解实习,总觉得学历高、能力强 offer 随便找,但实际是能力强并不代表你一定 offer 大满贯,只能说明你的竞争力强而已。20min 时长,总共一面,十个左右的基础问题,无算法,小厂都不会问这么少,却发生在小红书偏核心部门的实习面试里。我下午面试完,两小时后通过,再过了一小时接了 offer,再过了一个小时直接加部门小群了。要不是中间隔了一个周末,我从投简历到入职仅仅花了不到两天的时间。我很感激小红书在最后关头给我这么一个机会,但这次奇妙的面试体验让我也很诧异。

总结

我虽然大二下就开始投,搞得像个大佬一样,但我面试次数还没人家今年一二月份开始准备的人多。到现在就面试过三家——字节跳动、快手、小红书,没了。

而且我语言能力真的不太行,再加上背诵能力有点差,我已经听过好几个面试官跟我说:能看出来你确实用过,但不够深入。特别是面试官让我自由发挥的时候(我最怕自由发挥,没引导我直接不会说),我说话的速度很容易跟不上脑子,脑子里本来东西就不多,导致吐字不清,最后都不知道自己在说什么,经常把自己逗乐了。

但不断地投递的过程中,我也总结出一点经验:问就是立即到岗,问就是半年起步。如果你是打算走 Android 客户端,大三上学期先去牛客把 TOP 101 算法做上几遍,客户端算法难度也就这样了。

如果你现在是大一大二,可以考虑一下去学后端或者前端。后端是最吃香的,也是最难的。不是我怕你学客户端抢我的岗位,而是选客户端等于没有了后路。我走客户端是因为我大一就开始学,换语言的成本太高了。如果你不相信,可以去 BOSS 直聘看一眼客户端和前后端的职位数量差距有多大,去脉脉看看大厂人对客户端的评价。

我在牛客上发现了今年客户端校招特点:客户端求着后端人来,点击就送的情况下也没人愿意去,甚至有人问腾讯客户端和中厂后端选哪个。客户端土著反而成了最大的小丑,大学系统学习了客户端的牛马们 offer 率感觉都不如人家搞后端不愿去客户端的高。

我也看到有人在牛客上问 GitHub stars 得有多少才能润色简历,我的评价是根本没必要追求这个,面试官压根不在乎,他只在乎你项目中应用的知识点。只要你能把你项目中的知识点完全掌握住,能完美通过面试官的拷打,并且有亮点,可比成千上万个 stars 都重要。

转载自:https://juejin.cn/post/7374668941653180442
评论
请登录