程序员面试怎么准备,面试技巧有哪些?

程序员面试中面试官和 HR 最看重最关注的是哪些点?面试前应该做哪些准备呢?力扣君将为大家提供资深面试官和 HR 对面试中的一些规则的分析,希望能为大家在面试中加油助力。

一、面试前的准备工作

简历

首先通过自己的履历建立一份基本的简历,然后根据不同的职位要求,调整简历中的内容。不同的职位使用与之相关的科研、项目以及实习经历。简历中不光要有主要经历和项目的介绍,还要有重点的描述。把一些关键词放进去,否则搜索筛选简历不会进入视线。然后重点介绍自己最擅长的部分,一定是最擅长的,因为面试官一定会问简历上的相关问题。如果简历准备的好,那边简历就可以起到钩子的作用,引导面试官问你一些问题,你要是准备好了答案,在答案中再准备一个钩子,让面试官问下一个问题。 切忌所有公司和岗位都用同一份简历。

在拥有完善的简历后,一定要熟悉简历中的内容,包括技术问题中的一些细节。保证写在简历中的东西都是自己懂的,包括其中的细节。

准备简历内容

了解职位的要求内容,寻找面经,进行熟悉,大概了解面试官会如何进行面试,会问哪些问题,并准备好相应的解答。同时,如果对职位有问题可以记录下来,面试结束后可以向面试官提问,带着问题去面试。

找面经时,可以按照以下的顺序:

  • 同公司同岗位的面经,这些面经务必要都过一遍,并能做到对这些面经中的问题了熟于心。
  • 如果还有时间和精力,可以查看同岗位其他公司面经。

如何写项目经验

有些程序员的工作和研究经历十分丰富,而有些程序员提到项目经历便开始抓耳挠腮,那么简历中该写多少项目合适呢?

答案是 3-4 个与应聘职位匹配,且能展现自己能力的项目

科技公司在招聘的时候通常是以下步骤:

  • 第一步:HR 进行简历筛选:HR 在捞取简历的时候,最喜欢简历中说到了和工作职位相符的技能,越匹配越好。
  • 第二步:相关技术部门进行简历筛选:HR 进行初步筛选后,会把通过的简历拿给招聘部门的技术人员进行第二轮筛选,从而决定这个人能否参与面试。

在写自己的项目经历时,如果有下面两种情况,有一定招聘经验的 HR 筛选一般都无法通过:

  • 项目描述纯粹以凑关键字为主:项目中出现了很多酷炫的关键词,但在描述中却看不出你实际做了些什么。或者是一个团队项目,自己只是打了个酱油,并没有做什么有实际意义的工作。
  • 项目浅显:有些项目非常简单,没有难度。例如,应聘算法工程师,项目中写了一个手写字母分类的项目。

要记住,HR 希望看到的,是与你应聘职位相关的工作,比如,你是其他行业转 IT 行业,那么学习编程做出一个简单的 iOS 应用程序,并且成功地将这个应用程序放入 AppStore 就是个不错的项目,这不仅表现出你的学习能力,也展现了你的应用动手能力。

避免以上两个坑后,一般的项目经历都应该可以通过 HR 的筛选了,接着就是技术人员的筛选,下面是简历中写项目的一些注意事项

  • 不要字数太多却抓不住重点:简历里面每个项目写了几百字,看起来密密麻麻都是字,做的什么项目,背景是什么,这个项目服务于什么,一大堆技术面试官不关心的话,这样做只能给自己减分。
  • 项目描述不要太过于平淡:“我做过一个餐饮系统,里面各种订餐、订单等功能……省略几百字。” 这种项目经历,写出来基本没戏,只会拉低整个简历的质量,这本质上就是个简单的“新、增、改、查”功能。
  • 详细列出特别的项目:“比如你为公司开发了一套独一无二的监控系统,他的功能怎样……用到了哪些技术。” 项目描述一句话,最多两句话内完成。更多地要写这个项目的效果,比如使得运维效率提高了很多,为公司带来很大效益。这个系统你优化某功能代码,使其执行效率提高 50%。
  • 不要撒谎:项目里面提到的技术,一定要保证自己都懂得其原理,否则就不要写。
  • 重点项目的技术细节:对于与该岗位匹配的重点项目,可以写一些技术细节,面试官喜欢看到真正有技术水平的项目。同时,也要保证自己对这个项目的每个细节都弄懂了。

在面试时,面试官无法知道你的底细,那么他们怎么来验证你的项目经验和技术?下面总结了一些常用的提问方式。

所以,一定要对自己简历上的项目熟悉!准备项目的各种细节,一旦被问到了,就说明你没做过。

一般来说,在面试前,大家应当准备项目描述的说辞,自信些,因为这部分你说了算,流利些,因为你经过充分准备后,可以知道你要说些什么。而且这些是你实际的项目经验,一旦让面试官感觉你都说不上来,那么可信度就很低了。

不少人是拘泥于“项目里做了什么业务,以及代码实现的细节”,这就相当于把后续提问权直接交给面试官。下表列出了一些不好的回答方式。

面试官真正希望听到的,是下面的一些回答方法:

一定要主动,面试官没有义务挖掘你的亮点

比如:在这个项目里用到了什么技术?你除了说一些基本的技术,比如 Spring MVC,Hibernate,还有数据库方面的常规技术时,还得说,用到了 JAVA 内存管理,这样能减少对虚拟机内存的压力,或者说用到了大数据处理技术等。也就是说,得找一切机会说出你拿得出手的而且当前也非常热门的技术。

或者找个相关问题做扩展性说明,比如被问到:你有没有用到过一对多和多对多?你除了说基本知识点以外,还可以说,一般我还会根据需求适当地设置 cascade 和 inverse 关键字,随后通过一个实际的案例来说明合理设计对你项目的帮助,这样就能延伸性地说明你的技能了。相反如果你不说,面试官一定会认为你只会简单的一对一和一对多操作。

不要犯低级错误,一旦出现,可能会直接出局

  • 前后矛盾:后面的回答无法证明你的项目描述。
  • 项目里面用到的基本概念回答不上来。
  • 简历上的技能描述和回答出来的明显不一样,比如,明明只会简单的 Linux 操作,却吹得天花乱坠。

寻找面试机会

在做好准备后,寻找面试机会,先从较为容易的面试开始。每一次面试后,都需要做一个总结,以便于下次面试时能够更加全面的展示自己,面试的过程是一个自我提升和收获的过程。

这里有个有用的建议(划重点),在面试某家公司前,可以花半个小时去了解该工作的背景、主要业务和相关技术。 如果面试时候面试官遇到有同学嘴上说对这个公司非常感兴趣,非常希望加入这个公司,然而随便问下是否都公司有些了解,发现其实对该公司一无所知,其实是非常减分的。

二、面试

无论是哪一种面试,主要就看三个方面(划重点):现在能力如何,未来潜力如何,人品如何。 第一个因素是最重要的,因为后面两个因素有太多的人为判断因素,无法量化。

被淘汰案例:某同学能力很强,笔试和初试评价都很高,最后终试的时候,评价特别低,就是因为其被判断为潜力不够。没有钻研精神,对新技术不感兴趣,不愿意深入思考,不主动学习。

面试携带:几份简历 + 纸 + 笔

简历一定要准备,原因很多。

  • 有些公司是要求所有面试线上化,所以一般都不给面试官纸质简历,造成面试官必须用电脑看,电子版哪有纸质版舒服啊;
  • 另外有可能是两个或者多个面试官,但他们只准备了一份简历;还有可能助理忘记打印简历给面试官了,很多面试官都是被安排面试的,甚至临时被安排去面试的。如果助理不得力,简历也要自己打印。
  • 如果是多轮面试,那么每轮面试可能都需要一份简历,准备几份简历,应对每轮面试。

自己准备几份简历,可以让面试官有个好印象。

白纸和笔,都是在面试过程中可以帮助自己的。有位 BAT 面试官称:“我面试过很多学生,当要求他们描述某个项目或者算法时,他们用手势比划半天,有的同学把我手上的笔和纸拿过去,让我只好眼巴巴看着。” 因此,自带纸笔一是方便自己描述项目,二是能够更方便的和面试官交流。

另外,用笔来画项目流程图或者技术框架,比用语言描述更加形象。画完之后,还可以把白纸一起交给面试官,这样,面试官对你印象将会十分深刻。

面试过程

面试的本质是向面试官推销自己的过程。大家可以遵循以下三个原则:

  • 诚实:大部分面试官都是有一定工作经验的,所以很多小伎俩一般都能被他们识破的,所以,诚实是第一位的。遇到不会的问题,就说没了解过,没做过的就是没做过。
  • 会讲故事: 问到概念和问题时,先说概念性的东西,然后讲出自己的学习工作经验,当时是怎么遇到问题,又是怎样解决的。
  • 态度-阳光、好学:不要抱怨以前公司,遇到自己了解但不熟悉的问题,可以和主管讨论,表示自己愿意研究,所有人都会被问道自己小部分不会的,所以不知道是正常的,无关大局。

面试中可能遇到一些问题

  • 量不会的: 如果面试中遇到大量不会的问题,说明这个岗位和自己目前的技术方向还不太匹配,需要自己回去多学习。
  • 为什么离职: 上一家公司很好,不过自己想学习新的技术,接触新的业务提升自己。
  • 有什么问题: 问有关工作培训,工作所用技术的问题,不要问薪资和公司发展方向。

如果通过,那么恭喜你。如果没有通过,那么当日及时总结面试题和面试经验,这是失败的奖励。

谈薪

谈薪是个敏感话题,面试过程中可能有些面试官会问到,最后的 HR 面中谈薪基本是主要问题之一。

这个话题是有标准答案的(划重点):

  • 如果这是你心仪的公司或者是你认为必须要拿到的 offer,那么最标准的回答是类似这样的:相比于薪水,我更看重这个机会,所以只要薪水差不多就好。
  • 如果这个 offer 对你来说可有可无,而且你已经有了其他公司给你 offer,你可以委婉的表达一起别的公司给的 offer 是多少,如果这个公司很想让你过来,薪资方面一定会考虑的。

总而言之,每个公司都有自己的薪资体系,不会因为你的要求而增多多少,也不会因为你不要求而减少太多。按照以上两种方式分别回答就好。

三、面试后

所有面试结束,一定要记住跟你谈 offer 的那个人的电话或者联系方式,隔几天跟联系一下问问进度。有些公司人员流动较大,可能跟你谈过 offer 后,联系你的 HR就离职了,如果工作交接上有疏漏,那么很容易就遗漏某个人了。

最后,希望看到这篇回答的你都可以找到心仪的工作~

Author: victor

阅读次数 2

发表评论

电子邮件地址不会被公开。 必填项已用*标注