电话:18102818598
广东职场网欢迎您! 手机端
关闭
您当前的位置:首页 > 职场资讯 > 面试秘籍

面试与工作差距大,程序员从准备到拿Offer全攻略

来源:广东职场网 时间:2021-10-11 作者:广州红树林教育科技有限公司 浏览量:


迄今为止我没有参与过任何面试,也不知道这是幸运仍是不幸。本文是依据我作为面试官在阅历了 40 多场面试后,总结出来的经历,我一共宣布过大约 25 个 offer。

流程总结

高级软件工程职位(以及其他相关人物,如数据工程和机器学习工程)的竞赛十分激烈,你需求认真地预备,并勤加操练。编程面试题一般都不会出现在日常作业中。这或许是软件工程岗位的面试与其他范畴最大的不同。

面试的流程大致为:

预备面试,包括刷编程考试题以及进步体系规划技能。

设法获取引荐信,或联络招聘人员,或直接去公司网站恳求职位。

假如拿到回复,则需求依照以下次序承受面试:

a.招聘人员联络你,确定职位以及面试日期。在这个阶段也能够评论薪资待遇。

b.电话挑选:只要一轮面试,一般包括编程测验。

c.现场面试:一系列的编程、规划与行为考察,一般面试你的人很或许会成为将来的搭档。

d.拿到选取告诉。

比较各家的选取告诉,然后逐一洽谈。

承受一家公司,回绝掉其他公司。挑选一个正式上班的日期。

流程的详细过程

下面,咱们来总结面试的各个阶段,以及咱们将在每个阶段评论的内容:

预备:在面试之前或刚递送简历时需求考虑的作业。你需求做好心理预备。

热身:面试要求的基础知识,预备编程测验。

操练:认真预备,联络公司和招聘人员。

面试:各个面试阶段的技巧。

交涉条件:最关键的一步,一切投入到预备中的时刻都将在此时表现出来。

承受选取告诉:终点线。

面试完毕后:关于完毕当时作业的一些主张。

下面,咱们就来仔细谈一谈每个阶段,以及与之相关的思想方法和面试相关活动。

预备

动机

问问自己:“我为什么要找新作业?”

你必须清楚自己寻求改动的原因。尽管不需求什么巨大或具体的方针,但已然你已决议花费许多时刻预备、计划和面试,那么必定是有原因的。你应该弄清楚这个原因。

只要找到这样的动机,你才有勇气面对被人回绝,并尽力做好各项预备。

挑选编程言语

为了在编程面试中脱颖而出,你必须挑选一门自己拿手的编程言语。以下是在挑选编程言语的时分,需求考虑的一些事项。

人物或职位特有的限制。

你需求依据恳求的人物类型,挑选一门最合适的言语。关于大多数软件工程人物来说,任何言语都能够。可是假如你恳求的职位是 iOS 开发或高频交易技能岗位,则面试中能够运用的言语或许并没有太大挑选。

挑选自己最拿手的编程言语。

挑选自己了解的言语能够节约学习另一门言语的时刻,减少在编程面试中犯错的时机,并且假如遇到有关言语细节的问题(比方 Java 的线程或 Python 的全局解说器锁),你也不用担心。

简练的言语

我强烈引荐你挑选一种赋有表现力且十分简练的言语,即使不是你最了解的言语。比方,Python 比 C 更好。在 30分钟的编程测验中,在白板上书写代码时,实现相同逻辑的处理计划,Python 之类的言语能够大幅减少代码行数。

其次,简练的编程言语更便利面试官理解逻辑,也能让你更快地发现小错误。

讲一个小故事:在读研究生期间,有一次参与某家抢手公司的实习面试,尽管我找到了处理计划,但来不及写完代码。最终面试官坦言,这个问题太复杂了,关于没有见过该题的人,运用Java等言语在25分钟之内编写出完好的计划的确十分困难,一起他还引荐了 Python。但这家公司仍然回绝了我!从那以后,我就换成了 Python,因而我强烈引荐 Python。

你不必为了面试深化学习某种言语。在上述实习面试中,当时我最喜爱的言语是 Java,我对面试官明确地说我也运用 Python,由于它很简练,但我不了解 Python 的细节,我很愿意编写处理计划并答复有关 Java 的问题。

争夺多个offer

我强烈主张你尽力争夺拿到多家公司的选取告诉。

多份选取告诉在手,你就更有底气与对方洽谈更好的薪酬。一般招聘人员会搜集有关其他 offer 的详细信息,以便为你争夺更好的薪酬。即使你一门心思只想进一家公司,拿到另一家公司的选取告诉也有助于你取得更高的薪资。

参与不同公司的面试,能够让你深化了解不同的作业文明、公司使命以及不同团队的作业内容。这是一个很难得的时机,或许会影响到你当时或未来的作业开展决议。

当手头的某个选取告诉快要到期的时分,假如你还在参与面试,而手头的另一份选取告诉书距离截止期限还有时刻,你就能够简略地拒掉前一个。当我因到期而回绝掉某个选取告诉时,一般对方都会延长时刻。

在填写恳求和参与面试的过程中,你的名字会记入招聘人员的体系。即使你没有经过面试,将来他们也有或许再次联络你,这样能够便利你组织面试。有些公司会依据你曩昔的表现,越过电话面试,乃至免除几轮面试。

多个选取告诉在手,你就能够灵活地做出更正确的挑选。也许异地的某个挑选现在并不重要,但将来或许会很重要,并且你还能够灵活地挑选在哪个城市作业。

更新简历

将新参与的项目和收成的经历添加到简历中。除非你恳求是的研究人员,并且需求展现你一切的论文,否则请将简历压缩到一页。

假如你参与过的项目许多,一页纸装不下,则能够考虑保留哪些内容以及删去哪些内容:

关联度

突出显现与你恳求的职位相关的技能与项目。关于机器学习工程职位来说,Android 项目的经历没有任何协助性。

影响力

突出显现能够展现你的责任范围、规划技能、方针完成度、项目或人员管理技能的项目。最好能包括可量化的信息。这些信息能够凸显你的技能熟练度以及水平,比运用流行语更有成效。

时效性

尽管学校的项目也很了不得,但招聘司理对你现在所做的作业更感兴趣。

公司的项目比个人项目更好,除非你的个人项目是在开源中开发的,并且具有严重的影响或被广泛选用。原因是,企业项目有更严厉的截止日期、资金风险,而人员与团队的合作也更具挑战。

可见性

展现公司以外的人能够看到的作业成果,比方向开源项目奉献代码,或宣布论文、公司新闻布告等。

请留意,面试官或许会问到有关简历中包括的项目的问题。你必须做好预备,说明切当的责任,并答复有关项目的具体问题。

在预备面试的过程中,你需求不断更新简历。或许距离你前次更新简历现已过了很久了。

体系规划

体系规划需求的预备比较少,由于大多数经历都来自作业,以及阅览有关该范畴最新开展的博客、文章和论文。与编程面试相比,体系规划面试的重要性取决于你恳求的职位。

从预备的角度来看,最好不要一次性做好一切预备。相反,从开端预备到正式参与面试,你能够考虑:

阅览有关规划的书本

Martin Kleppmann 的作品《Designing Data-IntensiveApplications》是一本关于如何进步规划技能的佳作。

有关面试的在线资源

donnemartin 的 System Design Primer 是一个很好的阅览资源,能够协助你快速回顾基础设施体系的基本规划准则。

阅览有关体系规划的论文或文章

https://paperswithcode.com:AI 论文精选

https://blog.acolyer.org

The Morning Paper

技能博客

http://highscalability.com

Netflix 的博客

几乎每个科技公司都有自己的博客,你能够挑选自己喜爱的阅览。

热身

刷编程题

鉴于现在编程面试的压力十分大,刷编程题成为了面试预备中最耗时的作业。因而,我主张尽快开端做预备,调整好心态,了解考题界面。

你能够挑选一些十分流行的编程测验网站,或专门的编程面试预备网站。

Leetcode:https://leetcode.com/

Hackerrank:https://www.hackerrank.com/

CodeWars:https://www.codewars.com/

我主张你从最简略的标题开端。即使你读完问题就能当即想到处理计划,也要试着去编写代码。你会惊奇于一个简略的问题或许有多少边际情况。

一般,我会做一些简略的标题,直到觉得它们太简略。我能够经过这种操练学习如何掩盖一切的边际情况,并且不需求太多思考。假如你觉得这一步太简略,能够直接越过。

你想取得什么?

列出你梦寐以求的作业应具备的优点。依照优先次序排列。以下是一些需求考虑的方面。

团队文明、司理、项目、机会

薪资

学习时机

作业开展时机

抱负职位、等级

事务范畴(产品、基础设施、机器学习)

地理位置

作业与日子的平衡

个人品牌建设或声誉

当然还有许多方面。当你拿到多个选取告诉时,就会很难做决议,每家公司都有各自的优缺点。收拾一份你参与面试的原因,以及你真正期望取得怎样的作业,能够协助你在日后做决议。

你想去哪里?

一般我会列出一切我想去的地方。不要觉得自己在异想天开。你只需求将这些公司的名字写下来,敢于测验才干改动自己的作业开展。

挨个查看你一直想去的一切公司,看看他们都有哪些空缺职位,以及他们的哪些城市在招人。

即使你没有接到对方的电话或没有经过面试,也不要担心。大不了就是被对方回绝。你能够给自己设定下限,却没人能够给你设定上限。

联络身边的朋友和搭档,了解他们是否满足自己的作业,是否能够引荐你去当时或曾经的公司作业。

了解创业生态体系的情况。

了解都有哪些新公司或快速开展的公司,阅览有关这些公司的文章,挑选开展方针与你有共识的公司。

曩昔收到的招聘人员的电子邮件。

向着方针动身

恳求作业

我主张依照以下次序恳求作业:

恳求周围的好友引荐。这样,至少招聘人员会仔细看一看你的简历。

查找曾经收到的招聘人员的电子邮件。

经过各个公司的招聘网页恳求作业。

注册各个求职网站。

联络招聘人员。

认真地预备编程测验

假如你觉得编程测验网站上的标题太简略,就从中等难度的标题开端。模拟在面试环境中处理问题。

统计时刻,看看自己处理编程问题需求多长时刻。测验在 30 分钟内完成中等难度的标题,最高难度的标题 为 45 分钟。一般面试的时刻就这么长。

刚开端的时分,需求的时刻必定更长,这很正常。你的方针是进步速度,但这需求一些操练。

说出你的处理计划,就像你在向面试官解说如何处理这个问题一样。

这一点请千万留意。

考虑各种挑选。你不仅需求解说逻辑算法,并且还需求说出每个处理计划的时刻和空间复杂度,任何算法都能够这样比较。

比及你想不出更好的处理计划时,再开端写代码。

不要梦想第一次测验就能取得正确的处理计划。真正的面试没有回头路。

不要经过点击提交来确认是否做对了。咱们正在模拟面试!经过阅览代码来查找错误,确保完成后的代码是正确的。咱们的方针是第一次测验无需任何修改就能够做对。

微信扫一扫分享资讯
客服服务热线
18102818598
9:00-21:00
微信公众号
手机浏览

Copyright C 20092014 All Rights Reserved 版权所有 红树林教育科技有限服务公司 粤ICP备19148605号

地址:广东省广州市花都区 EMAIL:gzhsljykj@163.com

人力资源证: 440114210011

Powered by PHPYun.

用微信扫一扫