面试经验技巧

如何巧妙回答面试官的问题?

三段式:场景/任务,行动,结果

如何回答技术性问题?

  1. 勇于提问
  2. 高效设计
  3. 伪代码先行
  4. 控制节奏
  5. 规范编码
  6. 精心测试

如何回答快速估算类问题?

有些企业的面试官喜欢出一些快速估算类问题。对他们而言,这些问题只是手段,不是目的,能够得到一个满意的结果固然是他们所需要的,但他们更希望通过这些题目去考查求职者的快速反应能力以及逻辑思维能力。由于求职者平时准备的时候可能对此类问题有所遗漏,因此一时很难想到解决的方案。这些题目看似毫无头绪,但实际上比较灵活,属于开放性试题,一般没有标准答案,只要找准回答要点,分析合理到位,使答案具有说服力,就可以了。

例如,面试官可能会问这样一个问题:“请你估算一家商场在促销时一天的营业额”,求职者如何能够得出一个准确的数据呢?

其实本题只要能够分析出一个概数就行了,不一定要得出精确数据,而分析概数的前提就是做出各种假设。以该问题为例,可以尝试从以下思路入手:从商场规模及商铺规模入手,通过每平方米的租金估算出商场的日租金,再根据商铺的成本构成得到全商场日均交易额,然后考虑促销时的销售额与平时销售额的倍数关系,乘以倍数,即可得到促销时一天的营业额。具体而言,包括以下估计数值:

1)以一家较大规模商场为例,商场一般按6层计算,每层大约长100m,宽100m,合计60000m2。

2)商铺规模约占商场规模的一半,合计30000m2。

3)商铺租金约为40元/m2,估算出年租金为40元/m2×30000m2×365天=4.38亿元。

4)对商户而言,租金一般占销售额的20%左右,则年销售额为4.38亿元÷20%=21.9亿元,则计算平均日销售额为21.9亿元/365天=600万。

5)促销时的日销售额一般是平时的10倍,所以大约为600万×10=6000万。

此类题目涉及面比较广,例如,“估算北京小吃店的数量”“估算中国在过去一年方便面的市场销售额”“估算长江的水的质量”“估算一个行进在小雨中的人5min内身上淋到的雨的质量”等等。但一般都是即兴发挥,遇到此类问题,读者应一步步地抽丝剥茧,找准要点,合理分析,给出具有说服力的答案。

如何回答算法设计问题?

(1)归纳法

此方法通过写出问题的一些特定的例子,分析总结其中一般的规律。具体而言就是通过列举少量的特殊情况,经过分析,最后找出一般的关系。

(2)相似法

正如编者“年年岁岁花相似,岁岁年年仍单身”一样,此方法考虑解决问题的算法是相似的。如果面试官提出的问题与求职者以前用某个算法解决过的问题相似,此时此刻就可以触类旁通,尝试改进原有算法来解决这个新问题。而通常情况下,此种方法都会比较奏效。

(3)简化法

此方法首先将问题简单化,例如改变一下数据类型、空间大小等,然后尝试着将简化后的问题解决,一旦有了一个算法或是思路可以解决这个被“阉割过”的问题,再将问题还原,尝试着用此类方法解决原有问题。

(4)递归法

为了降低问题的复杂度,很多时候都会将问题逐层分解,最后归结为一些最简单的问题,这就是递归。此种方法,首先要能够解决最基本的情况,然后以此为基础,解决接下来的问题。

(5)分治法

任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小,越容易直接求解,解题所需的计算时间也越少。而分治法正是充分考虑 到这一点内容,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。分治法一般包含以下三个步骤:1)将问题的实例划分 为几个较小的实例,最好具有相等的规模;2)对这些较小的实例求解,而最常见的方法一般是递归;3)如果有必要的话,合并这些较小问题的解,以得到原始问 题的解。

分治法是程序员面试常考的算法之一,一般适用于二分查找、大整数相乘、求最大子数组和、找出伪币、金块问题、矩阵乘法、残缺棋盘、归并排序、快速排序、距离最近的点对、导线与开关等。

(6)Hash法

很多面试笔试题目,都要求求职者给出的算法尽可能高效。什么样的算法是高效的?一般而言,时间复杂度越低的算法越高效。而要想达到时间复杂度的高 效,很多时候就必须在空间上有所牺牲,用空间来换时间。而用空间换时间最有效的方式就是Hash法、大数组、位图法。当然,此类方法并非包治百病,有时, 面试官也会对空间大小进行限制,那么,此时,求职者只能再去思考其他的方法了。

其实,凡是涉及到大规模数据处理的算法设计中,Hash法就是最好的方法之一。

(7)轮询法

每道面试笔试题,在设计时,往往会有一个载体,这个载体便是数据结构,例如数组、链表、二叉树、图等,当载体确定后,可用的算法自然而然地就会暴露出来。可问题是很多时候并不确定这个载体是什么。当无法确定这个载体时,一般也就很难想到合适的方法了。

猜你喜欢

转载自blog.csdn.net/QQ2558030393/article/details/91980583