找工作之前,有一点你必须清楚,就是找工作是一件看缘分的事情,不是你很牛逼,你就一定能进你想进的公司,都是有一个概率在那。如果你基础好,项目经验足,同时准备充分,那么你拿到offer的概率就会比较高;相反,如果你准备不充分,基础也不好,那么你拿到offer的概率就会比较低,但是你可以多投几家公司,这样拿到offer的几率就要大一点,因为你总有运气好的时候。所以,不要惧怕面试,刚开始失败了没什么的,多投多尝试,面多了你就自然能成面霸了。得失心也不要太重,最后每个人都会有offer的。
一般面试的过程就是:
自我介绍->项目经历->技术问题->提问环节
一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句 “谢谢”,企业喜欢有礼貌的求职者。
基础这东西,各个公司都很看重,尤其是BAT这种大公司,他们看中人的潜力,他们舍得花精力去培养,所以基础是重中之重。项目经历少怎么办?那就去打牢基础,当你的基础好的发指的时候,你的其他东西都不重要了。
基础无外乎几部分:
- 语言(C/C++,Python)
- 操作系统(Linux)
- 计算机网络(TCP/IP)
- 数据结构
- 算法
- 熟悉的领域(数据挖掘等)。
项目不在于好与不好,在于你会不会包装,有时候一个很low的项目也能包装成比较高大上的项目,多用一些专业名词,突出关键字,能使面试官能比较容易抓住重点。在聊项目的过程中,其实你的整个介绍应该是有一个大体的逻辑,这个时候是在考验你的表达与叙述能力,所以好好准备很重要。
面试官喜欢问的问题无非就几个点:
1. XXX(某个比较重要的点)是怎么实现的?
2. 你在项目中遇到的最大的困难是什么,怎么解决的?
3. 项目某个部分考虑的不够全面,如果XXXX,你怎么优化?
4. XXX(一个新功能)需要实现,你有什么思路?
其实你应该能够预料到面试官要问的地方,请提前准备好,如果被问到没有准备到的地方,也不要紧张,一定要说出自己的想法,对不对都不是关键,主要是有自己的想法,另外,你应该对你的项目整体框架和你做的部分足够熟悉。
面完之后一般面试官都会问你,你有没有什么要问他的。其实这个问题是有考究的,问好了其实是有加分的,一般不要问薪资,主要应该是:关于公司的、技术和自身成长的。这样体现出你对学习的热情和对公司的忠诚度以及你的上进心。
以下是常问的几个问题,如果需要可以参考:
- 贵公司一向以XXX著称,能不能说明一下公司这方面的特点?
- 贵公司XXX业务发展很好,这是公司发展的重点么?
- 贵公司一般的团队是多大,几个人负责一个产品或者业务?
- 对新人有没有什么培训,会不会安排导师?
- 说贵公司的晋升机制是什么样的?
例如面数据组,最后的问题可以是:
- 数据组的团队有多大?主要做什么工作? Ans: 整个团队有10多个人,最近主要做的是通过推荐系统以及用户数据分析。
- 团队主要使用什么工具和语言? Ans: 语言是Python, Java以及一些SQL和HQL, 平台是Hadoop+HIVE,最近开始搭建Spark平台。
- 实习后留正的可能性? Ans: 双向选择,大部分都可以留下来,主要看你喜不喜欢。
什么是软实力,就是你的人际交往、灵活应变能力,在面试过程中,良好的礼节、流畅的表达、积极的交流其实都是非常重要的。很多公司可能不光看你的技术水平怎么样,而更看重的是你这个人怎么样的。所以在面试过程中,请保持诚信、积极、乐观、幽默,这样更容易得到公司青睐。
有时候我们可能不太理解面试官的题目,这种情况一定不要自己盲目按照自己的理解去回答。应该先和面试官交流,直到你搞懂了面试官要问你什么,而不是按照自己的理解说了一堆无用的东西。
举个例子,面试官可能会问了一道算法题:“如何判断两个无限长度的链表是否有交点?”。对于“无限长度”可以有不同的理解,如果真的是有无穷多个节点,那显然这个问题是无法解决的。但如果链表仅仅是有环,那么还是可以解决的。如果面试官的本意是链表有环,但你错误的理解成了无穷多个节点,那么必然会导致无法回答这个问题。而且这并非能力不足,而是属于交流沟通方面的失误。
有时候面试官的问题我不会,这时候大多数情况下不要马上说我不会,可以学会转移,例如面试官问我C++的多态原理,我不懂,但我知道java的,那我可以向面试官解释说我知道java的,类似的这种可以往相关的地方迁移(但是需要注意的是一定不要不懂装懂,被拆穿了是很尴尬的),意思就是你要尽可能的展示自己,表现出你的主动性,向面试官推销自己。
有时候实在不会,也没法转移到相关的问题上,那么也不要出现好像是、可能是、我猜
之类的词眼,而是说按照我的理解、我不太懂这个问题需要从哪个角度解析、我以前遇到类似的问题是怎样这个问题应该也是这样。
这样给面试官的印象是,即便你不懂,但是你在全力思考,而且这样会给自己争取时间。
还有就是遇到智力题的时候,不要什么都不说,可以问面试官能否给我一点思考时间,然后无视面试官去思考就行。思考有一定结果就及时和面试官沟通,面试官其实不会太期待得到答案,主要是看你的逻辑思维,你只要说出你自己的见解,有一定的思考过程就行。
-
如何评价自己?(优点缺点是什么)
这个问题考察的其实是一个人对自己是否有足够的了解。企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分,企业喜欢聪明的求职者。
-
你对加班的看法?
回答提示:实际上好多公司问这个问题,并不证明一定要加班,只是想测试你是否愿意为公司奉献。 回答样本:如果是工作需要我会义不容辞加班,我现在单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班。
-
你对薪资的要求?
回答提示:如果你对薪酬的要求太低,那显然贬低自己的能力;如果你对薪酬的要求太高,那又会显得你分量过重,公司受用不起。一些雇主通常都事先对求聘的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给予的最高价钱,他们问你只不过想证实一下这笔钱是否足以引起你对该工作的兴趣。
回答样本一:我对工资没有硬性要求,我相信贵公司在处理我的问题上会友善合理。我注重的是找对工作机会,所以只要条件公平,我则不会计较太多。
回答样本二:我受过系统的软件编程的训练,不需要进行大量的培训,而且我本人也对编程特别感兴趣。因此,我希望公司能根据我的情况和市场标准的水平,给我合理的薪水。
回答样本三:如果你必须自己说出具体数目,请不要说一个宽泛的范围,那样你将只能得到最低限度的数字。最好给出一个具体的数字,这样表明你已经对当今的人才市场作了调查,知道像自己这样学历的雇员有什么样的价值。
-
你朋友对你的评价?
回答提示: 想从侧面了解一下你的性格及与人相处的问题。
回答样本一:我的朋友都说我是一个可以信赖的人。因为,我一旦答应别人的事情,就一定会做到。如果我做不到,我就不会轻易许诺。
回答样本二:我觉的我是一个比较随和的人,与不同的人都可以友好相处。在我与人相处时,我总是能站在别人的角度考虑问题。
谈谈面试技巧
纯干货!程序员面试的技巧
求职面试时常被问到的65个问题与技巧性回答
面试心得与总结---BAT、网易、蘑菇街
纪念那些“坚持到最后但没有笑到最后”的校园招聘
2.5年, 从0到阿里
我是如何同时拿到阿里和腾讯offer的
让 BAT 的 Offer 不再难拿
2014校招后台开发(服务端开发)经验总结
纯干货!面试官如何面试程序员