大厂不是衡量能力的唯一出路,上财学姐毕业三年的经验分享

2022-10-31 19:25:18 浏览数 (1)

Datawhale干货

作者:玲玲,上海财经大学,Datawhale成员

距离我的社招已经过去半年了,虽然没有去成大厂,但现在的工作我还是挺满意的。像一位朋友说的,评价一个人的标准应该是多方位的,大厂不是衡量能力的唯一出路,没去大厂也不意味着面试经验失去了价值。所以才有了这篇文章,希望我的这篇经验贴能给大家带来一点帮助~

个人情况

上财本硕,金融信息工程专业,在某二线互联网企业算法工程师工作2年多。无竞赛无论文,投递的岗位是NLP算法工程师。

简历

简历是面试敲门砖,多花一些时间好好打磨简历绝对是没错的。简历主要包括个人基本信息,教育经历,工作经历,论文发表,专业技能几个方面。由于我没有论文发表经验,所以工作经历就是我的重点关注项目。我的第一件事就是打磨简历,保证通过简历筛选这一关。

可以找一个简历的范本对照着填充自己的内容,保证简历的结构清晰,内容精炼,项目经历和应聘岗位相关,最好是发给有当面试官经历的朋友看看。但其实我在上家公司做过的项目并不是那么的贴近NLP算法,想面试NLP算法工程师岗位存在一定的难度。记得当时我写完简历的第一版之后,发给一个朋友看,他直接说我的项目太简单了(虽然直接但也是实话哈哈哈)。然后我跟他说没办法,这个项目就是这样的,没有什么高深的算法。他说这样不行,简历关都过不了,项目得重做。当时的我听到这句话,心里一惊,项目重做???还可以这样的吗?况且那不是得花好多时间?虽然但是,确实得这么干,否则我可能几个月也找不到工作。那段时间我每天下班之后就搜集资料,跑模型,优化模型,最终形成了一份还看得过去的简历。项目经历建议用STAR原则写,项目背景、任务类型(分类、信息抽取、对话等)、采取的行动,项目所达成的效果,个人收获。

现在回过头来反思上一份工作,有不少可以改进的点。第一点是跳槽的勇气和时机。其实我早就意识到这个岗位的项目与我想从事的方向是不匹配的,但我当时没有勇气立刻跳槽,并且抱着未来会变好的期望待了2年。2年后才终于醒悟这里没有我想要的,但此时我已经比其他人少了很多朝我的期望方向努力的时间了。

第二点是项目的打磨。由于种种原因,部分项目会不了了之,可能是因为效果不好;可能是因为项目重要性不高,产品没有再跟进。从找工作的角度来说,这样的项目写进简历不合适,但是不写嘛,可能就没几个可写的了。所以在项目的过程中,一定要尽可能地查阅相关资料,多尝试不同的方法,遇到困难的时候要勇于求助,不要因为自己不会就放弃了。一个人的力量毕竟是有限的,要承认自己的不足,学会依赖他人,而且这样做也会让自己进步的更快。比如你做一个文本摘要的项目,不是看几篇博客,尝试几个方法就可以了的,你还需要去追踪文本摘要这个领域的最新发展,最好看看综述论文,有一个比较全面的认识。模型训练完成后,如果效果好,思考为什么效果好,是因为数据质量高,还是模型适用度高?如果效果不好,也得分析是数据的问题还是模型的问题,亦或是训练过程的问题。

面试

一般来说刚开始面试会有一些不适应,所以找一两家岗位匹配的公司熟悉下面试流程是必要的。这样既能快速进入面试状态,又能积累一些面试经验,知道面试官喜欢问什么。面试之前仔细研究下岗位描述,公司背景,知道自己正在面试的是一家什么样的公司,岗位大概是做什么的。

面试主要包括自我介绍、手撕代码、项目介绍、岗位相关知识考察等。自我介绍除了基本情况外,还可以讲一讲自己的优势,岗位相关/无关的都可。手撕代码主要看之前的刷题积累了,这个不多说,重点是多刷题多总结,懂得举一反三,且有良好的代码风格(这一点很少被提到,但是代码风格是很重要的,反正我见过因为编码习惯不好被挂了的)。

项目经历肯定是考察的重点,跟校招不同,社招一般不会问太多基础知识,主要围绕着你的项目经历涉及的点进行提问,另外也可能会问到岗位涉及到的知识点以及领域的基本知识、前沿模型,例如你面的是对话岗,那面试官肯定很关心你在对话领域的知识积累。再从NLP这个大方向上看,BERT及其变种、Transformer、T5等模型必须掌握,被问到的频率非常高。

项目面试中基本的一点是能清晰熟练地阐述自己做过的项目,这个可以提前准备,写好文字稿,多练习几遍就可以了。把项目背景、目的、在项目中的角色、采取的方法、最终的效果都讲清楚,接着面试官会针对项目问一些具体的问题:为什么会用这个模型/方法,该模型的原理是什么,有没有试过其它方法,该领域的最新发展方向和前沿模型是什么,进而还可能发散地去问相关的模型,还有项目中遇到的难点、是怎么解决的、个人从项目中收获了什么、对业务的理解也需要提前准备好,这些都是常见的面试问题。如果模型上线了的话,还会问工程和上线方面的问题。还有很细节的问题,比如交叉熵是怎么计算的。我还遇到过面试官问如果现在做的话能做的更好吗,准备怎么做。这里除了考察你的算法研究能力之外,还在考察学习能力、业务理解能力、语言表达能力、解决问题的能力等,是非常重要的一环。

还有几个我遇到的频率比较高的问题列在这里供大家参考

  • 对公司和应聘岗位的理解。这就需要前期花时间搜集资料,分析岗位了,这一环是为了判断你是否有精心准备面试,是否真心想进入这家公司,从事这个岗位。
  • 职业发展规划。主要考察你对自我的认识和定位,对职业的认识,对公司的认识,以及你的求职态度。
  • 为什么要跳槽/离开上家公司。不要说上家公司的坏话,常见的回答是想寻找更大的发展平台;在上家公司遇到瓶颈了,想跳出舒适区,让自己有更大的突破。
  • 有什么问题要问。你问的问题体现了你在意什么,关注什么,所以要避免问薪酬、加班等问题,可以问问团队的规模和现状,对这个岗位的期望等。
  • 还有一些跟个人经历相关的问题。比如我是金融信息工程专业,就常被问到为什么没有选择去金融行业,而选择NLP算法这个方向。我在上海投递杭州的岗位,会被问为什么想去杭州。这些问题都是因人而异的,不要回答的太奇怪就好~

面试是一个双方互动,双方考察的过程,不光是面试官考察面试者,也是面试者考察面试官的机会。从面试过程中体会公司的文化,面试官的技术水平,岗位与自己的匹配度,以及与自己职业发展方向的匹配度等都是面试者需要考虑的问题。有时候会遇到不那么友好的面试官,也不必认为是自己的问题,可能是面试官的问题,也可能是道不同,不相为谋就是了。

最后的总结

总结一下本文的要点:

一、简历

  • 简历主要包括个人基本信息,教育经历,工作经历,论文发表,专业技能等。
  • 项目经历用STAR原则写,包括项目背景、任务类型、采取的行动,项目所达成的效果,个人收获。
  • 简历要经常修改打磨,发给有经验的朋友,让他们提出建议。
  • 工作中要尽可能地全面的了解项目的任务类型的相关背景、方法模型、最新发展等。就算临近跳槽了也可以像我一样重新做一遍,不怕时间晚就怕不行动。但还是建议在做项目的时候多花心思,毕竟后期再去回顾重做是又花时间又很难短时间出成果的一件事。

二、面试

  • 面试主要包括自我介绍、手撕代码、项目介绍、岗位相关知识考察等
  • 先面试一两个匹配的岗位熟悉流程
  • 面试前需要对公司对岗位有一定程度的了解
  • 手撕代码不仅要完成面试官的题目,还要注意保持良好的代码风格
  • 项目是考察重点,提前准备好如何介绍项目,以及项目中涉及的知识点、难点、细节问题
  • 基础知识主要是根据项目延伸去问,以及岗位相关知识点,大方向上的基础知识点
  • 职业发展规划、跳槽原因、向面试官提问、对公司和岗位的理解等问题也常被问到
  • 面试是一个互相考察的过程,要自信一些

0 人点赞