美文网首页
微软件面试题目之最后一题目分享

微软件面试题目之最后一题目分享

作者: 正念行者 | 来源:发表于2023-09-23 07:04 被阅读0次

    有三个连续的、大于6的整数,已知其中两个是质数,求证第三个数能被6整除。

    “三个连续的、大于6的整数”我们都明白,比如7,8,9,或者11,12,13等。题中还给了一个条件“其中两个是质数”,质数我们也明白,就是只能被1和这个数字本身整除的数。而要求证的是“第三个数能被6整除”。为什么突然冒出来一个6?这个6是怎么来的,是解这道题的关键。
    以往我当面试官的时候通常会给面试者一摞草稿纸,在面试者抓耳挠腮地计算时,我会建议他把自己的思考过程说出来,一边说一边思考,这样我就能知道他的思考过程。比如,有的面试者可能会列一堆方程式,n,n+1,n+2等,然后用方程式来计算它们与6的关系。这时我就知道,他陷入“歧途”了。
    那这道题的正确解法是什么呢?

    你要先把“能被6整除”分解成“能被2整除,也能被3整除”,然后你只需要证明第三个数既能被2整除也能被3整除就可以了。
    只要你想到了这一步,接下来就非常简单,甚至接近于常识了。
    我们知道,任意连续的两个整数中一定有一个数是2的倍数,也就是能被2整除。我们还知道,任意连续三个整数中一定有一个数是3的倍数,也就是能被3整除。也就是说,在连续的3个整数中,一定有一个数能被2整除,还有一个数能被3整除。
    但是题干告诉我们,题中的三个数有两个都是质数,也就是只能被1和这个数本身整除,而且这三个数都大于6,不可能是2或者3。所以,这三个数里能被2整除的数和能被3整除的数只能是同一个数,也就是这两个质数之外的第三个数。
    这样,我们就证明了第三个数既能被2整除也能被3整除,也就是能被6整除。
    听我说完之后你会发现,这道题考的是小学数学知识。我当年进微软的时候也被考过这道题,那么,为什么要考这道题呢?
    因为这道题能考验一个人分解问题的能力,对应到这道题,就是把“能被6整除”分解为“能被2整除,也能被3整除”。这种能力特别重要。
    比如,假设你有一个重要客户的电脑突然宕机了,你远在千里之外只能用电话远程指挥他解决问题,但电脑宕机的原因有千万种,你怎么办?如果你懂得分解问题就会知道,这种情况无非三种可能:电源没插好、硬件出了问题、软件出了问题。这时,你可以一一排除,找出问题到底出在哪里。
    再比如,如何解决全球变暖问题,如何解决碳排放问题?专家们给出了成千上万个建议,彼此吵得不可开交。但是比尔·盖茨(Bill Gates)在一次TED(Technology,Entertainment,Design,即科技、娱乐、设计)演讲中给出了一个解决碳排放问题的“分解公式”:CO2=P×S×E×C式中:P是Population,人口;S是Service Per Person,即每个人使用多少项服务,比如开车、壁炉、烧烤等;E是Energy Per Service,即每项服务使用多少能源;C是CO2 Per UnitEnergy,即每单位能源排放多少二氧化碳。
    所以,解决碳排放问题,就是分别解决人口问题(P)、环保的生活方式问题(S)、能源使用效率问题(E)、能源产生的碳排放问题(C)。每个人、每个领域各司其职,共同推进。
    你看,一个如此宏大的问题被分解为四个问题后,就变得简单多了。这种分解能力可以用来拯救世界。

    是不是很简单?不管多么复杂的问题都有解决的办法,有时候我们要把问题进行拆解,有时不能只关注问题本身。要抽离出来,解决问题而是让问题不再在问题这才会根本解决!
    所以,面试微软员工时,我们特别重视考查候选人分解问题、解决问题的能力

    相关文章

      网友评论

          本文标题:微软件面试题目之最后一题目分享

          本文链接:https://www.haomeiwen.com/subject/jllxbdtx.html