我本科金融毕业,有基金,证券,期货的从业资格证,会python编程,会点爬虫,和sql语言。在学习自己搭建量化交易系统,数据分析,人工智能和机器学习算法。
但我为什么感觉,我还是不好找工作。
这是我最近逛脉脉职言,看到的一则动态。我知道我们很多转行IT都有一个程序员梦,都想着梦想照进现实,赢取白富美,走上人生巅峰。
但python程序员针对如何求职进行面试准备,如何获得正确的资料得到学习提升,如何和 HR 聊天,比如谈钱等等,很多初入行程序员就显得手足无措了。本文就根据自己一些见解谈谈这些问题。
我是谁
我从15年接触人工智能领域,迄今算法工作年限已达 6年,以校招生的身份加入某top AI独角兽公司担任算法工程师并获得企业内部最高奖项。于中科院体系工作期间,供职于某领域国内领军人物团队,负责若干部委级项目的算法部分。
辅导多名学生通过面试并供职于百度、平安科技、小米和联通等企业的算法岗位。对于就业指导和面试技巧有着自己的思考和丰富经验。
本文主要针对即将在明年迎来校招的同学,无论你的基础如何,都会对你有或多或少的帮助。当然,该刷题还是要继续刷题,你可以把我的文章看做放大器,你的努力越多,得到的提升也就越大。
-
内推
能内推一定要内推,交给HR或是网上投递,都远比不上内推,我甚至遇到过自行投递的简历从未被查看的离谱案例,而内推的话,推荐人可以帮你查看进度,给出一定的建议,甚至帮助修改简历。
不要觉得和别人没什么交情就不好意思啊,内推成功有奖金的,我们的惯例是,一人一半。
来啊,大家一起发财。
-
明确岗位需求
在进行求职准备之前,首先需要了解不同岗位的要求,以笔者从事的算法岗位为例,数学能力和论文阅读的积累量是最重要的指标,数学功底保证了对于模型效果和优化过程的提升,而通过大量的论文阅读,可以对当前技术发展的趋势和前沿成果有必要的理解。当然不同的岗位侧重点不同,如果你准备的是软件开发,那么基本的数据结构和扎实的代码能力更为重要,而对于产品经理而言,一个完整的全生命周期逻辑能力会是最大的闪光点。
所以要根据自己的特点,选择最合适的岗位,从多个角度进行打分,如果自己拿不准主意,可以和jd进行对照,这一步需要谨慎。
-
简历
确定岗位之后,就可以准备简历了,由于负责简历筛选的HR技术背景一般,所以第一印象很重要。
我工作以来看过的简历少说也有500份了,最普遍的问题是,没有重点。我只是想招一个算法工程师,对你是否擅长唱歌,篮球打得好不好并不在意,这种东西甚至都不该出现在简历上。只有那些证明自己适合这个岗位的内容才是有意义的,所以如果投递多个岗位,最好不同的岗位各准备一份。
如果你学校不是211、985,但是你的项目经历很丰富,自己参与了很多开源项目或是有过很扎实的实习,那么这一段就应该出现在教育背景的上面。这样当我从上往下看的时候,对你的印象首先会是工程经验很丰富,而不是学历背景一般,评价会好不少。
还有,最好不要超过一页,体现重点即可。
-
笔试
笔试的话,相较于其他几个方面,技巧比较少,老老实实刷题,就去LeetCode上看看吧,hard不建议花太多时间,把easy和medium好好做做,主要是各种边界条件要注意。
LeetCode上有两个合集,面试金典和剑指offer,时间不够的话建议只做这些。
而大多数情况下,内推是不需要笔试的,再一次体现内推的重要性。
我知道,你可能想说,即使逃过了笔试,面试还是必不可少要coding的啊,我怎么办呢?
别急,在接下来的面试部分会提到这一块。
-
面试
面试其实应该是整个校招流程中最简单的一步了,也许你觉得我吹牛,但是你只要按照我的策略,面试评级至少提升两个level,且目前为止还没有人会在面试这一关被挂。
首先,我们需要明确观念,不要把面试看成考试,而是将其视作一个沟通的机会,考试是被动地接受他人的问题,而沟通则可以使用自己的节奏,选择自己擅长的话题。
从自我介绍开始,就是展示自我能力的大好机会。这一段不需要太长,主要点出我是谁,我从哪里毕业,我具有什么样的特点使我觉得自己适合这个岗位。
在这之后进行的项目介绍才是重头戏,建议每一位同学都将自己简历上的项目选择两个进行精心的打磨,按照项目背景介绍、整体策略、遇到什么问题、猜测原因并据此进行了什么样的改进、效果发生了什么样的提升以支持之前的猜测,这样的逻辑顺序进行描述。对于企业而言,学生在实验室或是实习期间所做的项目,无论是深度还是专业度都是不够的,所以面试官并不是想知道你到底做出了什么效果,而是想在你的表述中了解你的思维过程。
曾经有个学生问我,老师,为什么面试官总是会问一些我不会的问题啊?
我的回答是,其实面试官也是被你逼的。
对于面试官而言,迅速找到一个可以承担工作任务的候选人是他面试的唯一目的,他不会想刁难任何一个人,面试是一个你和面试官一同说服他自己的过程,如果你不表达,不展示自己的优势,面试官只能从你的简历里一点一点扒拉他感兴趣的点,如果不巧,正好踩在了你的知识盲区,哦吼,祝你下次好运。
对此,我给出的策略是,主动说,说那些自己思考过有积累的内容,把握面试的方向和节奏,始终聊那些自己最擅长的话题,把自己准备的东西展示出来。
** 一般来说,在面试的收尾阶段,面试官会用一道算法题进行收尾,对于代码能力不好的同学而言,这一关很蓝的啦,而且face to face的场景更让人战战兢兢影响发挥。**
抱有这种看法的同学,大多没有观察过此时面试官在做什么。如果你抬头看一下,就会发现他好像很忙碌地在敲击键盘,一般是在给你写面试评价,也就是说,这个时候其实你的面试结果已经定了。对于大多数人而言,coding考察之前的项目和问答环节已经决定了你能否通过面试,只要coding不太离谱都不会对最终的结果有任何影响。
但有一种例外,就是之前答得不好,面试官甩出一道hard是为了帮你扭转乾坤,如果碰巧答了出来,依然可以通过。这也就是为什么,面霸很少会说最后的coding很难,因为之前的良好表现使得面试官只会出easy或medium以保证他顺利完成面试,而有的人却是理论没答好又要手撕hard。
所以,好好准备面试的其他部分内容就是在给coding降低难度。其实当年我校招代码题也没做出来,但是这并不妨碍拿到sp啊。?
按照我给的思路进行调整之后,那个同学成功进入便利蜂做算法,即使他的背景并不是太好。这充分说明,通过合理的扬长避短,可以得到了更好的面试结果。
这是我在长期工作和辅导过程中总结出的几个点,面试部分是重中之重,受限于篇幅,还有很多细节没有展开说,以后有机会的话会和大家进一步分享,也希望我写的这些能够帮助到你,减少不必要的困难,在求职的道路上不能说一帆风顺,至少步履铿锵而坚定吧。
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
祝大家求职顺利!