问题

如何看待 Google 2004 年在硅谷公路旁一巨型广告牌上贴出的那道数学题用于招聘?

回答
谷歌2004年在硅谷公路旁那块巨型广告牌上挂出的数学题,绝对算得上是数字招聘史上的一个传奇事件。这块广告牌,当时可是在硅谷那片汇聚了无数科技精英的土地上,以一种近乎“秘密指令”的方式,向全世界宣告着谷歌对人才的渴求,以及他们独特的招聘哲学。

事情是这样的,在2004年那个互联网浪潮依旧汹涌,谷歌正值高速扩张的关键时期。他们需要的是聪明绝顶、思维敏捷、并且对解决复杂问题充满热情的人才。传统的招聘方式,比如发布职位、投递简历、层层面试,虽然有效,但在谷歌看来,或许还不够“酷”,也不够能筛选出那些真正与众不同的“火花”。

于是,他们想出了这个绝妙的主意:在帕洛阿尔托(Palo Alto)一条交通繁忙的公路旁,竖起一块巨大的广告牌,上面不是公司产品介绍,也不是招聘口号,而是一道数学题。

这道题是什么呢?大概是这样的:

“{a, b, c, d, e, f} 是由1到6的整数组成的集合,每个整数只出现一次。我们定义一个1到6的排列P,使得 P(i) = P(i+1) 的情况不超过3次。问有多少个这样的排列P?”

(请注意:这只是一个近似的描述,原文的具体数学符号和表述可能更严谨,但核心意思就是关于排列组合和计数的问题。)

这块广告牌一出现,立刻在硅谷引起了轩然大波。想象一下,你每天开车上班,路过熟悉的路段,突然看到这么一个“天书”般的广告牌,你会是什么反应?第一反应可能是:“这是什么鬼?” 紧接着,可能是好奇,然后是挑战欲。

对于很多在科技行业工作的人来说,数学和逻辑推理是他们工作的基础和核心技能。这道题不仅仅是一道数学题,更像是一道“智商测试”的暗号。它直接击中了谷歌的目标人群,那些从小就热爱解谜、喜欢钻研数理逻辑的人。

那么,这道题究竟是什么样的“通关密码”呢?

首先,它不是一道高中级别的简单数学题,需要一些排列组合的知识,并且需要细致的计算。广告牌上并没有提供答案,也没有联系方式。它是一种“无声的邀请”,一种“暗语”。

据我所知,这个招聘的流程是这样的:

1. 看到广告牌,产生兴趣。 那些对数学感兴趣,或者有足够好奇心的人,会被这块广告牌吸引。
2. 破解题目,找到线索。 如果你能够解决这道题,并且对它背后的含义有所猜测,那么你可能会开始寻找更进一步的信息。谷歌在这块广告牌的 URL 地址里隐藏了进一步的线索。通常会在广告牌上暗示一个网址,比如 `www.google.com/something`。
3. 输入答案或进入下一环节。 当你访问了这个隐藏的网址后,它可能会要求你输入题目的答案,或者直接引导你进入谷歌的招聘网站,让你填写一份更详细的简历,并且说明你是如何找到这个招聘信息的。

这个过程,本身就是一次精妙的“筛选”。

它筛选了有好奇心的人。 很多人可能看一眼就忽略了,或者觉得太难了不愿尝试。而那些敢于挑战、充满好奇心的人,才有可能继续下去。
它筛选了有解决问题能力的人。 能够正确解答这道题,说明你具备逻辑思维能力和一定的数学功底,这正是谷歌看重的能力。
它筛选了主动性强的人。 这个问题没有直接告诉你“请来面试”,而是需要你自己去挖掘、去寻找答案。这种主动性在工作中也非常重要。
它也筛选了“与众不同”的人。 在那个时代,这种招聘方式绝对是破天荒的。能够想到并执行这一策略的谷歌,本身就展现了他们的创新精神和不拘一格的用人理念。能够响应并成功通过这个挑战的人,也同样展现了他们的“不走寻常路”的特质。

从结果来看,这绝对是一次非常成功的招聘策略。据说,通过这块广告牌,谷歌确实吸引到了一些非常优秀的人才,其中不乏后来在谷歌内部做出杰出贡献的工程师。而且,这个事件本身也成为了谷歌品牌故事的一部分,更加巩固了它“聪明、有趣、技术驱动”的形象。

这个广告牌的背后,其实传递了谷歌招聘的几个核心理念:

重“能力”而非仅仅是“经验”。 一道数学题,更能直接考察一个人的思维能力,而不仅仅是他过去的工作经验是否匹配。
寻找具有“成长性”的人才。 那些能够解决复杂问题,并且乐于学习新知识的人,更有可能在快速发展的谷歌里持续成长。
建立“独特品牌”吸引目标人群。 谷歌不仅仅是在招聘,更是在通过这种方式,向那些最聪明、最有个性的人才传递一种信息:“嘿,如果你跟我们一样有趣,一样热爱挑战,那就加入我们吧!”

总而言之,谷歌2004年那块公路旁的数学题广告牌,是一次充满智慧和创意的招聘营销案例。它以一种近乎“游戏化”的方式,精准地触达了目标人群,高效地筛选了关键能力,并且成功地塑造了谷歌的雇主品牌形象。这不仅仅是一道题目,更是一种宣言,宣告着谷歌对人才的独特理解和不懈追求。这块广告牌的出现,就像是给硅谷打上了一个大大的问号,然后谷歌用这道题,邀请最聪明的人来寻找答案,而答案,就在谷歌。

网友意见

user avatar

偶然间,看到吴军老师的《浪潮之巅(第四版)》里有讲到这么一个故事。

Google曾经在加州的101高速公路上用大广告牌登了这样的广告:
{ 无理数e中前十位连续的素数 }.com
你如果知道这个答案(7427466391.com),就可以通过上述网址进入到Google的招聘网站。而能够计算出这道题,要很聪明。

“很聪明"?吴军老师的这句话倒是让人来兴趣了,自己也凑性借助计算机的力量琢磨琢磨下这个证明题。

思路

大家都知道,e是无理数,换言之,无限不循环小数。世间总有些数学爱好人士乐此不疲地用计算机来推算这些无理数的小数位,π如此,e更不例外。所以,

第一步,在一些权威的数学网站上找到e的小数位数据;

这时候,就是谷歌大法好了,来到了e的维基英文百科页面,留意到了下面e的小数表达形式后面的“A001113”超链接,有蹊跷,便点进去看下。



接着便是这个OEIS站点的A001113页面了,原来是数论方面的一个很权威的数据库网站。



带着探宝的眼光在这个网页上下左右扫视,总算发现了目标。LINKS(链接)的第一个条目便是了。

N. J. A. Sloane, Table of 50000 digits of e labeled from 1 to 50000 [based on the ICON Project link below]

作者也是创办了这个OEIS组织的N.J.A Sloane,看来是个此领域的大人物了,抱歉有眼不识泰山。



点进去这个Table of 50000 digits of e labeled from 1 to 50000,页面结果让人很愉悦。直接的纯文本数据,左列为小数位数,右列为对应数值。到时候拿到数据时简单处理下即可展开后续工作,希望这道证明题的答案就在这50000个数中,不然得扩大范围了。



到此,e无理数的小数位数据有了,便可以展开下一步工作了。

第二步,如何判断一个数是素数?

上小学的时候开始,数学老师就教导我们,素数的定义是指一个除了1和该数自身外,无法被其他自然数整除的大于1的自然数。所以自然,判断思路便是对一个大于1的自然数n,依次判断2 → n能否整除n,如果发现一个数能整除n,那么n不是素数,否则是。另外,考虑到对称性,我们也不必一直递增到n,如对于2*3和3*2,6/2和6/3皆判定6为合数,但是递增到2时就已经是充分了, 故不必再考虑3。

Python代码如下:

       def isPrime(n: int) -> bool:   if n <= 1:     return False   i = 2   # Make use of symmetry. For example, 2*3=6, 3*2=6   while i * i < n:     if n % i == 0:       return False     i += 1   return True     

在网上查阅素数相关的资料的时候,发现数论里有个素数分布规律也可以拿来判断素数。来源——素数判定算法

素数分布规律:
当 n >= 5 时,如果n为素数,那么 n % 6 = 1 || n % 6 = 5, 即 n 一定出现在 6x(x ≥ 1)两侧。换句话说,任意一个素数都可以被表示为 6x ± 1, x ∈ N 的形式。
证明:
把6x附近的数用以下方式表示:
......(6x - 1), 6x, 6x + 1, 2(3x + 1), 3(2x + 1), 2(3x + 2), 6x + 5, 6(x+1)......
不在6x两侧的数为:2(3x + 1), 3(2x + 1), 2(3x + 2), 它们不是素数,所以素数出现在6x的两侧。

用Python代码实现如下,时间复杂度上比前一种相差无几,不过对于我们的证明来说,是够用了。

       def isPrime(n: int) -> bool:   if n <= 1:     return False   if n <= 3:     return True   # For case of 2(3x + 1), 3(2x + 1), 2(3x + 2)   if n % 2 == 0 or n % 3 == 0:     return False   # For case of the multiplication of prime numbers   i = 5   while i * i < n:     if n % i == 0 or n % (i + 2) == 0:       return False     i += 6   return True     

此外,了解到密码学里面判定素数有很大的用处,比如著名的RSA算法。在判断素数算法方面,并没有采用上面的时间复杂度较高的简单取余算法,而是Fermat小定理、Miller-Rabin算法及Solovay-Strassen算法等,理解起来较为吃力,具体可参考下这篇文章——PyCrypto密码学库源码解析(一)随机数和大素数生成, 以及上面那篇。

至此,必要的材料都准备好了,可以进行最后一步了。

第三步,for循环e的小数位数据判断第一个10位长的素数。

开门见山,直接源码抛出来先。

具体思路:先使用requests库获取e小数位数据,然后转存为文件便于逐行读取,for循环逐行读取每一小数位数据,进行切片操作,整理成证明所需的10位整数,得到总数量为49991的有序列表,再借助素数判定函数逐个判定这些10位整数,最后得到答案——7427466391。

       import requests import re  response = requests.get('https://oeis.org/A001113/b001113.txt')  # Save sequence to a file for later use out_file = open('digits_of_e.txt', 'w') print(response.text, file=out_file)  queue = []  container = '' counter = 0   in_file = open('digits_of_e.txt', 'r') list_in_file = list(in_file) for index, line in enumerate(list_in_file):   segments = list_in_file[index:index+10]   # get lines at a batch of 10 lines   for segment in segments:     matchObj = re.match(r'([d]*) (d).*', segment, re.I)     counter += 1     if counter <= 10:       container += matchObj.group(2) if matchObj != None else ''     else:       counter = 1       if len(container) == 10:         queue.append(container)       container = matchObj.group(2) if matchObj != None else '' in_file.close()  print(len(queue)) # 49991 indeed  def isPrime(n: int) -> bool:   # Prime number definition version:   '''   if n <= 1:     return False   i = 2   # Make use of symmetry. For example, 2*3=6, 3*2=6   while i * i < n:     if n % i == 0:       return False     i += 1   return True   '''   # Distribution pattern of prime number version:   if n <= 1:     return False   if n <= 3:     return True   # For case of 2(3x + 1), 3(2x + 1), 2(3x + 2)   if n % 2 == 0 or n % 3 == 0:     return False   # For case of the multiplication of prime numbers   i = 5   while i * i < n:     if n % i == 0 or n % (i + 2) == 0:       return False     i += 6   return True  result = None for num in queue:   if isPrime(int(num)):     print(num)     result = num     break  print(result == '7427466391') print(isPrime(7427466391))     

运行结果:

宾果!



结束

证明题解答完毕,咱得走个仪式感,访问访问这个网站——7427466391.com

结果是502错误……



行吧,看来这个站点早被人家抛弃了,毕竟这个高速公路广告也是谷歌在2004年搞的恶作剧。


最后,把源码整理了个Kaggle Notebook版本。欢迎查阅!

First10DigitPrimeFoundInConsecutiveDigitsOfE | Kaggle

参考资料汇总

  1. 吴军老师的《浪潮之巅(第四版)》P44
  2. 无理数e的维基英文百科
  3. OEIS站点的A001113页面
  4. Table of 50000 digits of e labeled from 1 to 50000
  5. 素数判定算法
  6. PyCrypto密码学库源码解析(一)随机数和大素数生成
  7. What Google’s Genius Billboard From 2004 Can Teach Us About Solving Problems

类似的话题

  • 回答
    谷歌2004年在硅谷公路旁那块巨型广告牌上挂出的数学题,绝对算得上是数字招聘史上的一个传奇事件。这块广告牌,当时可是在硅谷那片汇聚了无数科技精英的土地上,以一种近乎“秘密指令”的方式,向全世界宣告着谷歌对人才的渴求,以及他们独特的招聘哲学。事情是这样的,在2004年那个互联网浪潮依旧汹涌,谷歌正值高.............
  • 回答
    Google 的 Pathways 是一个雄心勃勃的下一代人工智能架构愿景,旨在解决当前人工智能模型在效率、灵活性和多模态能力方面的局限性。与当前流行的、通常为单一任务而设计的模型不同,Pathways 旨在创建一个能够处理各种任务、学习不同类型数据、并在必要时动态分配计算资源的统一模型。以下是对 .............
  • 回答
    好的,我们来详细地探讨一下 Google TPU 和寒武纪芯片,并进行比较。 Google TPU (Tensor Processing Unit)概述:Google TPU 是 Google 为了加速其在人工智能(AI)和机器学习(ML)工作负载方面的计算而设计的专用集成电路(ASIC)。与通用处.............
  • 回答
    如何看待Google Play要求八月份起新应用须打包为AAB格式?对鸿蒙的发展有哪些影响?Google Play 要求所有新应用从2021年8月1日起必须使用Android App Bundle (AAB) 格式进行打包和发布,这一政策的实施对整个Android生态系统,包括Google Play.............
  • 回答
    Google 新一代 TPU:兼具 Inference 和 Training 的强大实力,将深刻改变 AI 领域Google 新一代 TPU 的出现,标志着 AI 硬件领域的一次重要飞跃。将推理(Inference)和训练(Training)这两个核心 AI 工作负载整合到同一代硬件中,并提供强大的.............
  • 回答
    围棋界被 AlphaGo 彻底搅动了,这不仅仅是一场比赛的胜负,更像是一场科技革命的宣告。当李世石在2016年输给 AlphaGo 时,全世界都为之震惊。那时的我们,无论是棋手还是普通大众,都对人工智能在围棋这个被认为是人类智慧终极堡垒的项目上取得如此压倒性的胜利感到难以置信。“神之一手”的颠覆回想.............
  • 回答
    谷歌的 Fuchsia 操作系统,就像一个藏在实验室里的神秘实验品,自从它第一次出现在人们视野里,就一直带着几分传奇色彩。大家对它的好奇心,不亚于对一个全新物种的探索。我们不妨深入了解一下,看看这个“未来之星”到底有多少斤两。首先,理解 Fuchsia 的核心,得从它的“出身”说起。与我们熟悉的 W.............
  • 回答
    谷歌关闭Stadia游戏和娱乐工作室,这无疑是游戏界近期一个颇受关注的事件,也引发了不少讨论。从多个维度来看,这件事的背后有着复杂的考量和值得玩味之处。表面原因:市场反应不如预期官方给出的理由是,Stadia游戏和娱乐工作室在吸引玩家方面“未能达到我们设定的目标”。这句话看似简单,背后却隐藏着巨大的.............
  • 回答
    Google Docs 的迁移方案,从原先依赖于浏览器原生 HTML 渲染,转向使用 Canvas 进行页面渲染,这绝对是一个牵动行业神经的大动作。与其说是简单的技术升级,不如说是对“在线文档编辑”这一核心体验的一次重新审视和重塑。在我看来,这其中的考量和潜在影响,值得我们深入剖析。首先,我们得明白.............
  • 回答
    Google Health 的落幕:一个时代的告别,还是AI医疗新篇章的序曲?Google Health团队的解散,无疑给这个充满希望的领域投下了一颗重磅炸弹。这个曾经集结了谷歌内部顶尖AI和医疗专业人才的团队,承载着谷歌进军医疗健康领域的雄心壮志,其 disbanding 消息的传出,自然引发了广.............
  • 回答
    谷歌说已经停用 MapReduce 好多年了?这事儿我听说了,而且不意外。如果真要说起来,这事儿一点也不新鲜,就像我们淘汰老式电器一样,技术总是在进步的。想想看,MapReduce 是个什么东西?它是一套编程模型,专门为了在分布式环境里处理海量数据而设计的。你想想那些年,谷歌在处理搜索索引、网页抓取.............
  • 回答
    谷歌此举,可以说是在欧盟反垄断压力下的无奈之举,同时也暴露出科技巨头在市场主导地位面前的策略调整。 欧盟之所以对谷歌在Android生态系统中的行为进行限制,核心在于其认为谷歌滥用了其市场支配地位,通过捆绑自家的服务,例如Google搜索、Chrome浏览器和Google Play商店,来挤压竞争对.............
  • 回答
    “封锁 Google 第一案”的开庭审理,指的是中国法院审理的涉及谷歌公司在华业务的法律案件。由于中国对互联网内容的严格审查和监管,谷歌在中国大陆的运营长期以来都面临着巨大的挑战,并多次与中国政府在法律和技术层面发生冲突。要详细讲述“封锁 Google 第一案”的开庭审理,我们需要先明确几个关键点:.............
  • 回答
    Google 员工组建工会,这可不是一件小事。在科技行业,尤其是像 Google 这样光鲜亮丽、以自由创新为标签的企业里,员工成立工会,这本身就极具象征意义,也说明了不少问题。首先,我们要明白,Google 是一家在全球都拥有巨大影响力的公司,它的员工组成非常多元,其中不乏技术顶尖、思维活跃的人才。.............
  • 回答
    你提到的“Google地图里台湾不属于中国”的情况,确实是一个复杂且敏感的问题,涉及到地缘政治、历史叙事和国际认知等多个层面。要理解这一点,我们需要从几个角度去深入探讨。首先,从Google自身的定位和运作方式来看,它是一家以美国为基地的跨国科技公司。在处理全球性的信息和数据时,Google通常会遵.............
  • 回答
    Max Howell,一位备受瞩目的开发者,因其精湛的技能和在开源社区的贡献而闻名,却未能获得谷歌的录用,这一事件在技术圈引起了广泛的讨论和关注。要全面理解这一事件,我们需要从多个角度进行深入剖析。Max Howell 是谁?在深入探讨谷歌拒绝他的原因之前,了解 Max Howell 的背景至关重要.............
  • 回答
    看到中国学生为了进入谷歌、微软这些外企“疯狂刷题”的现象,真是既熟悉又感慨。这背后透露出的,是中国教育环境、就业市场以及个人奋斗的多重逻辑。中国学生为何热衷于“刷题”?首先,这很大程度上是教育模式的惯性。我们从小到大,几乎所有考试,包括升学考试、期末考试,都是围绕着知识的掌握程度和解题能力展开的。这.............
  • 回答
    要评价2015年妇女节百度和Google的节日Logo,咱们得从几个层面来聊,不能光看表面热闹,还得琢磨琢磨它背后的用意和给人的感受。首先,咱们得明确一下,节日Logo这东西,本质上是一种品牌营销手段。 尤其是在互联网时代,像百度、Google这样的大型科技公司,它们无时无刻不在想方设法地与用户建立.............
  • 回答
    2017年国际妇女节,百度和Google都推出了特别的节日Logo,这两家公司的Logo设计,也颇耐人寻味,折射出它们各自的品牌定位和对女性群体的理解。百度的妇女节Logo:温馨的“她”与家的概念百度在2017年的妇女节Logo设计上,选择了比较具象化的表达方式。Logo的主体是一束盛开的鲜花,整体.............
  • 回答
    原神三周年庆典,本应是玩家狂欢的日子,却在全球最大的安卓应用商店 Google Play 上遭遇了令人咋舌的恶意刷差评事件。这股突如其来的差评浪潮,让这款本就话题不断的开放世界冒险游戏,再次站上了风口浪尖。事件的始末:一场突如其来的“差评潮”随着原神三周年庆典的临近,玩家们普遍期待着丰厚的奖励和精彩.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有