目录
技巧一、如何和回答面试官问题
- 面对面试官各类问题,如何才能条理清晰回答呢?
- 如何才能让自己的回答不至于装上枪口呢?
- 如何让自己的回答令面试官满意呢?
首先我们面对面试第一面对的就是心态题,大多的时候都是自我恐慌。这种情况下其实完全没有必要,因为你恐慌可能面试官也恐慌,因为面试你的人不一定是技术人员,技术人员也未必有你强,牛人太多了,搞不好就碰到那个牛人就把面试官自己绕进去了,自己犯错的话他也很尴尬。所以重点来了,大家都怕犯错,但你犯的错还少吗?犯错也照样过来了不是吗?
1.回答问题务必谨慎,通过问题的回答表现出自己自信从容的一面。
2.回答问题不要什么都说,要适当留有悬念(人一般都有猎奇的心理)。
3.回答问题最好使用的就是三段式/star法则(包括场景/任务、行动、结果)。
栗子来了:
面试官: "你在项目中起到什么作用 " ?
错误回答:我在团队中的工作起到决定性作用,工作很难,框架什么的都是我做的(体现居功自傲,没说到重点)
正确回答:我完成了文件系统的构建工作,这个工作被认为是整个项目中最具有挑战性的一部分内容,因为它几乎无法重用以前的框架,需要重新设计。这个回答在于我做了什么,工作的重要性在哪,需要回答为什么重要,这样有理有据更能体现自我价值。
回答问题不清晰会给面试官你做的项目价值不高,思维逻辑能力不强,大多会ps掉。
栗子来:
面试官:你在项目中遇到最大的挑战是什么?
回答:
第一步,分析场景说明任务:在我参与的一个xxx项目中,我们团队一共四个人,除了我以外的其他三个人中没有两个能力很强,人也比较好相处,但有一个去不好相处,每次讨论问题时,他都不太爱说话,跟他配合的任务也很难完成。
第二步,分析行动:为了和他更好的配合,我私下里找他单独谈了一谈,于是我周末时约了他一起吃饭,顺便讨论了一下项目,我询问了一些项目中的问题,通过他的回答,我发现他并不懒,也不是故意拖着任务不做,只是对项目不太了解,缺乏经验,缺乏自信,不敢去问而已,所以越来越孤立,不愿意和我们讨论问题。为了解决这个问题我尝试着把问题细化,回答他不清除的问题,找一些朋友同行解决技术问题。
第三步,分析结果:他的技术越来越厉害了,也能按时与我配合互动,很有效率保证了我和我们团队的工作效率和质量。我技术不是团队里最强的,但是,我会更有效的沟通,借助人力,慢慢地帮助他人,间接帮助自己。
技巧二、如何回答技术性的问题
回答技术性问题一般采用6个步骤分析解决:
1.勇于提问 2.高效设计 3.伪代码先行 4.控制节奏 5.编码规范 6.精心测试
1.勇于提问
回答问题不是考试那样单一方面回答,面试的过程是一个互动过程。面试官问我设计一个高效的排序算法,这个时候我基本没有头绪,你让我设计一个算法,我啥也不知道啊,你也不告诉我排序对象是链表还是数组?数据类型是整型、浮点型、字符型还是结构体类型?数据基本有序还是杂乱无序?数据量有多大,1000以内还是百万以上?我们应该全都问清楚了,解决方案就出来了。
2.高效设计
打动面试官基本功是必须的,仅此而已显然不够,要想达到优秀水平,还需要考虑更多内容!
排序为例:时间是否高效?空间是否高效?数据量不大时也许没有问题,如果是海量数据呢?是否考虑了相关环节,如数据的“增删改查”?是否考虑了代码的可扩展性、安全性、完整性以及鲁棒性。
3.伪代码先行
有时候实际代码会比较复杂,上手就写很有可能会漏洞百出、条理混乱,所以求职者可以首先征求面试官的同意,在编写实际代码前,写一个伪代码或者画好流程图,这样做往往会让思路更加清晰明了。
4.控制节奏
主要是设计题,控制好时间就好,不要太快,有充裕时间多检测一下,太慢给面试官留下能力不行的印象。
5.编码规范
回答技术性问题时,多数都是纸上写代码,离开了编译器的帮助,求职者要想让面试官对自己的代码一看即懂,除了字迹要工整外,最好是能够严格遵循编码规范:函数变量命名、换行缩进、语句嵌套和代码布局等。
6.精心测试
可以了解一些基本的测试,单元测试,功能测试
技巧三、如何回答快速估算类问题
例如,面试官可能会问这样一个问题:“请估算一下一家商场在促销时一天的营业额?
求职者又不是统计局官员,如何能够得出一个准确的数据呢