/CS_Offer

深入理解计算机面试中的经典题目!

Primary LanguageC++

心态

找工作之前,有一点你必须清楚,就是找工作是一件看缘分的事情,不是你很牛逼,你就一定能进你想进的公司,都是有一个概率在那。如果你基础好,项目经验足,同时准备充分,那么你拿到offer的概率就会比较高;相反,如果你准备不充分,基础也不好,那么你拿到offer的概率就会比较低,但是你可以多投几家公司,这样拿到offer的几率就要大一点,因为你总有运气好的时候。所以,不要惧怕面试,刚开始失败了没什么的,多投多尝试,面多了你就自然能成面霸了。得失心也不要太重,最后每个人都会有offer的。

自我介绍

一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句 “谢谢”,企业喜欢有礼貌的求职者。

基础

基础这东西,各个公司都很看重,尤其是BAT这种大公司,他们看中人的潜力,他们舍得花精力去培养,所以基础是重中之重。项目经历少怎么办?那就去打牢基础,当你的基础好的发指的时候,你的其他东西都不重要了。

基础无外乎几部分:

  • 语言(C/C++,Python)
  • 操作系统(Linux)
  • 计算机网络(TCP/IP)
  • 数据结构
  • 算法
  • 熟悉的领域(数据挖掘等)。

项目相关

项目不再与好与不好,在于你会不会包装,有时候一个很low的项目也能包装成比较高大上的项目,多用一些专业名词,突出关键字,能使面试官能比较容易抓住重点。在聊项目的过程中,其实你的整个介绍应该是有一个大体的逻辑,这个时候是在考验你的表达与叙述能力,所以好好准备很重要。

面试官喜欢问的问题无非就几个点:

1. XXX(某个比较重要的点)是怎么实现的?
2. 你在项目中遇到的最大的困难是什么,怎么解决的?
3. 项目某个部分考虑的不够全面,如果XXXX,你怎么优化?
4. XXX(一个新功能)需要实现,你有什么思路?

其实你应该能够预料到面试官要问的地方,请提前准备好,如果被问到没有准备到的地方,也不要紧张,一定要说出自己的想法,对不对都不是关键,主要是有自己的想法,另外,你应该对你的项目整体框架和你做的部分足够熟悉。

你应该问的问题

面完之后一般面试官都会问你,你有没有什么要问他的。其实这个问题是有考究的,问好了其实是有加分的,一般不要问薪资,主要应该是:关于公司的、技术和自身成长的。这样体现出你对学习的热情和对公司的忠诚度以及你的上进心。

以下是常问的几个问题,如果需要可以参考:

  1. 贵公司一向以XXX著称,能不能说明一下公司这方面的特点?
  2. 贵公司XXX业务发展很好,这是公司发展的重点么?
  3. 贵公司一般的团队是多大,几个人负责一个产品或者业务?
  4. 对新人有没有什么培训,会不会安排导师?
  5. 说贵公司的晋升机制是什么样的?

例如面数据组,最后的问题可以是:

  1. 数据组的团队有多大?主要做什么工作? Ans: 整个团队有10多个人,最近主要做的是通过推荐系统以及用户数据分析。
  2. 团队主要使用什么工具和语言? Ans: 语言是Python, Java以及一些SQL和HQL, 平台是Hadoop+HIVE,最近开始搭建Spark平台。
  3. 实习后留正的可能性? Ans: 双向选择,大部分都可以留下来,主要看你喜不喜欢。

软实力

什么是软实力,就是你的人际交往、灵活应变能力,在面试过程中,良好的礼节、流畅的表达、积极的交流其实都是非常重要的。很多公司可能不光看你的技术水平怎么样,而更看重的是你这个人怎么样的。所以在面试过程中,请保持诚信、积极、乐观、幽默,这样更容易得到公司青睐。

很多时候我们都会遇到一个情况,就是面试官的问题我不会,这时候大多数情况下不要马上说我不会,要懂得牵引,例如面试官问我C++的多态原理,我不懂,但我知道java的,哪我可以向面试官解释说我知道java的,类似的这种可以往相关的地方迁移(但是需要注意的是一定不要不懂装懂,被拆穿了是很尴尬的),意思就是你要尽可能的展示自己,表现出你的主动性,向面试官推销自己。

还有就是遇到智力题的时候,不要什么都不说,面试官其实不是在看你的答案,而是在看你的逻辑思维,你只要说出你自己的见解,有一定的思考过程就行。

更多问题

  1. 如何评价自己?(优点缺点是什么)

    这个问题考察的其实是一个人对自己是否有足够的了解。企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分,企业喜欢聪明的求职者。

  2. 你对加班的看法?

    回答提示:实际上好多公司问这个问题,并不证明一定要加班,只是想测试你是否愿意为公司奉献。 回答样本:如果是工作需要我会义不容辞加班,我现在单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班。

  3. 你对薪资的要求?

    回答提示:如果你对薪酬的要求太低,那显然贬低自己的能力;如果你对薪酬的要求太高,那又会显得你分量过重,公司受用不起。一些雇主通常都事先对求聘的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给予的最高价钱,他们问你只不过想证实一下这笔钱是否足以引起你对该工作的兴趣。

    回答样本一:我对工资没有硬性要求,我相信贵公司在处理我的问题上会友善合理。我注重的是找对工作机会,所以只要条件公平,我则不会计较太多。

    回答样本二:我受过系统的软件编程的训练,不需要进行大量的培训,而且我本人也对编程特别感兴趣。因此,我希望公司能根据我的情况和市场标准的水平,给我合理的薪水。

    回答样本三:如果你必须自己说出具体数目,请不要说一个宽泛的范围,那样你将只能得到最低限度的数字。最好给出一个具体的数字,这样表明你已经对当今的人才市场作了调查,知道像自己这样学历的雇员有什么样的价值。

  4. 你朋友对你的评价?

    回答提示: 想从侧面了解一下你的性格及与人相处的问题。

    回答样本一:我的朋友都说我是一个可以信赖的人。因为,我一旦答应别人的事情,就一定会做到。如果我做不到,我就不会轻易许诺。

    回答样本二:我觉的我是一个比较随和的人,与不同的人都可以友好相处。在我与人相处时,我总是能站在别人的角度考虑问题。

参考

谈谈面试技巧
求职面试时常被问到的65个问题与技巧性回答
面试心得与总结---BAT、网易、蘑菇街
纪念那些“坚持到最后但没有笑到最后”的校园招聘
2.5年, 从0到阿里