Hello,大家好!我是「负雪明烛」。
“项目经验从哪来?”,这个问题是困扰无数同学的大难题。
众所周知,「项目经历」是简历中必不可少的一部分。而且几乎所有的招聘中都有这句话:“有相关经验者优先”。面试中,一般也会问简历中「项目经历」的内容。
简历上至少得有一个能拿得出手的、与面试岗位相匹配的项目。
但是很多同学由于没有实习和项目经历,导致无法通过面试,于是就陷入了一个死循环:没有项目经验 => 没有 Offer => 没有项目经验……
今天的文章主要聊一聊,校招同学如何获得项目经验。
实验室项目
对很多读研的同学来说,最容易想到的就是实验室项目。
实验室项目的优点是时间周期比较久,设计与实现比较科学合理,有排期压力所以有一定的完成度,自己也会比较熟悉。
只要不是特别水的实验室项目,确实可以写在简历上的。
但是也要注意:
不能太水;最好和找工作的岗位需求相匹配;能说清楚项目背景、参与了什么模块、怎么开发的。
这三点其实也是对简历上所有项目的要求。不过,实验室项目通常是「被迫」做的,所以更有可能出现上面的问题。
编程比赛
对于时间稍微充足的同学,可以考虑通过参与编程比赛获得项目经验。
常见的编程比赛有:Kaggle,天池,腾讯社交广告大赛。
这些比赛赛题新颖,参与人数多,比较公正权威。
参与编程比赛挺有用的:
在为期两三个月的比赛中,你可以快速入门一个领域;锻炼了查找资料、学习思考、动手编码的能力;提高团队协作能力。
比赛过程和实际工作很像:给定一个场景 => 设计方案 => 实现 => 验证 => 优化。
一般的比赛都会有排行榜,它能激励你想办法提高成绩,从而有动力学习和使用新知识。
当有「大佬」带飞的时候,参与编程比赛能快速学到很多东西。
认真、完整参与一个编程比赛,带给你的收获肯定很大。如果名次比较靠前,写在简历上,肯定是非常亮眼的。
但是如果编程比赛的名次不好怎么办?还要写在简历上吗?
名次不好可以分为两方面:
没有认真参加比赛导致名次不好:那肯定不要写了。认真参与了,尝试过各种方法,但名次就是不好:是不是应该反思一下名次不好的原因呢?
我相信,如果认真参与了一个比赛,无论最后结果如何,你一定是学习到很多东西、能感受到自己进步的。
开源项目
别被「开源项目」这个词吓到了,它并不一定那么高大上,其实人人都能参与到开源项目中来。
我先假设你已经有了想找工作的方向,现在是需要与该方向相关的项目经验。此时 GitHub 可以很好地帮助你。
我校招的简历中有一个关于推荐系统的开源项目,它给我加分不少。这个项目是 owllook,它是一个在线小说的搜索引擎+阅读器,网站地址是 ,GitHub 地址是 。
这个网站、仓库并不是我开发的。我当时在找推荐系统相关的实习,为了增加项目经验,就在 GitHub 上找到这个仓库,并为它提交了推荐系统代码。
网站页面截图:
GitHub 地址截图:
(画红框的部分就是我提交的代码)
以我为例,我讲一讲怎么找到合适的开源项目来增加自己的项目经验。
首先,在 GitHub 上搜索「推荐」、「小说」、「电影」、「书籍」等等,会出来很多项目:
然后找一个靠谱的、感兴趣的项目,联系作者。如果这个仓库正想做推荐系统,作者很可能愿意让你也参与进来。
我当时就是搜索到了 owllook,并且看到仓库的 TODO 中有「推荐」。
我联系上了作者,他很愉快地把数据发给了我。我基于点赞、收藏等数据实现了多个版本的推荐算法,把最佳算法 push 到了仓库中,最终被合并到了主干。
最后,我写了博客,完整记录和分析了实现过程~~(每隔一段时间还能收到打赏)~~。
这个项目被我写在了简历「项目经历」的第一位,事实证明所有面试官都对它感兴趣。字节面试官直接打开了 owllook 的 GitHub 仓库,读起了我的代码,哈哈~
对于校招生来说,能参与到线上项目、思考并且动手实现想法、最后成功上线,这个过程虽然不难,但是已经超过很多竞争者了。
总结
上面三点对应了我校招简历中的三个项目。在面试的过程中,我能把每个项目、每个知识点说得清清楚楚,思路、方法、指标我都倒背如流。面试结果都是挺不错的。
除了上面这些之外,你还可以自己动手实现一个项目(如小型数据库),或者实现经典算法(如推荐系统算法,STL),还可以复现论文等等。
你做的项目不用非得创新的,只要认真参与、有动手实现、有资料参考、有结果结论,面试中能讲清楚,那么就可以写在简历上。
最后,无论做什么项目,认真对待、提高自己才是最重要的。你的知识和能力在项目中得到了锻炼和提高,最终这个项目能不能写到简历上又如何呢?
我一直相信:“功不唐捐”。
每一点付出最终都会有回报。
只要我们不停止努力。
博主有算法题解的微信公众号啦,欢迎关注「负雪明烛」,持续更新算法题的解题思路: