知识迁移能力

  • 所谓学习能力,很重要的一点就是根据已经掌握的知识、技术,能够迅速学习,理解新的技术并运用到实际工作中去。大部分新的技术都不是凭空产生的,而是在已有技术的基础上发展起来的。这就要求我们能够把对已有技术的理解迁移到学习新技术的过程中去,也就是要具备很强的知识迁移能力。以学习编程语言为例,如果全面了解了C++的面相对象的思想,那么学习下一门面向对象的语言Java就不会很难;在深刻理解了Java的垃圾回收机制之后,再去学习另一门托管语言比如C#,也会很容易。
  • 面试官考查应聘者知识迁移能力的一种方法是把经典的问题稍作变化。这时候面试官期待应聘者能够找到和经典问题的联系,并从中受到启发,把解决经典问题的思路迁移过来解决新的问题。比如,如果遇到面试题“在排序数组中查找数字”,我们看到“排序数组”就可以想到二分查找算法、通常二分查找算法用来在一个排序数组中查找一个数字。我们可以把二分查找算法的思想迁移过来稍作变化,用二分查找算法在排序数组中查找重复数字的第一个和最后一个。从而得到数字在数组中出线的次数。
  • 面试官考查应聘者知识迁移能力的另一种方法就是先问一个简单的问题,在应聘者解答完这个简单的问题之后,再追问一个相关的同时难度也更大的问题。这时候面试官希望应聘者能够总结前面解决简单问题的经验,把前面的思路、方法迁移过来。比如在面试题“数组中数字出现的次数”中,面试官先问一个简单的问题,即数组中只有一个数字只出现一次的情况。在应聘者想出用异或的办法找到这个只出现一次的数字之后,他再追问如果数组中有两个数字只出现一次,那么该怎么找出这两个数字?这时候应聘者要从前面的思路中得到启发;既然有办法找到数组中只出现一次的数字,这样我们就能在两个子数组中分别找到那个只出现一次的数字,这样我们就能在两个子数组中分别找到那两个只出现一次的数字。接下来我们就可以集中精力去想办法把数组一分为二,这样就能找到解决问题的窍门,整道题目的难度系数将降低了不少。
  • 知识迁移能力的一种通俗的说法是“举一反三”的能力。我们在去面试之前,通常都会看一些经典的面试题。然而题目总是做不完的,我们不可能把所有的面试题都准备一遍。因此,更重的是每做一道题面试题的时候,都要总结这道题的解法有什么特点,有哪些思路是可以应用到同类型的题目中去的。比如,为了解决面试题“翻转单词顺序”,我们先翻转整个句子的所有字符,再分别翻转每个单词中的字符。这样多次翻转字符的思路也可以运用到面试题“左旋转字符串”中。在解决面试题“字符串的排列”之后,我们发现“八皇后问题”其实归根结底就是数组的排列问题。

猜你喜欢

转载自blog.csdn.net/zrh_csdn/article/details/81095081