1、 村子里有100对夫妻,其中每个丈夫都瞒着自己的妻子偷情。。。村里的每个妻子都能立即发现除自己丈夫之外的其他男人是否偷情,唯独不知道她自己的丈夫到底有没有偷情。村里的规矩不容忍通奸。任何一个妻子,一旦能证明自己的男人偷情,就必须当天把他杀死。村里的女人全都严格照此规矩办事。一天,女头领出来宣布,村里至少有一个丈夫偷情。请问接下来会发生什么事?

答 案:这是一个典型的递归问题。一旦所有的妻子都知道至少有一个男人出轨,我们就可以按递归方式来看待这个流程。先让我们假设只有一个丈夫偷情。则他的妻子 见不到任何偷情的男人,因此知道这个人就是自己丈夫,她当天就会杀了他。假如有两个丈夫偷情,则他俩的妻子只知道不是自己丈夫的那一个男人偷情。因此她会 等上一天看那个人有没有被杀死。假如第一天没人被杀死,她就能确定她自己的丈夫也偷了情。依此类推,假如有100个丈夫偷情,则他们能安全活上99天,直 到100天时,所有妻子把他们全都杀死。

答案

2、假设在一段高速公路上,30分钟之内见到汽车经过的概率是0.95。那么,在10分钟内见到汽车经过的概率是多少?(假设缺省概率固定)

答案:这题的关键在于0.95是见到一辆或多辆汽车的概率,而不是仅见到一辆汽车的概率。在30分钟内,见不到任何车辆的概率为0.。因此在10分钟内见不到任何车辆的概率是这个值的立方根,而在10分钟内见到一辆车的概率则为1减去此立方根,也就是大约63%。

答案

3、有四个人要在夜里穿过一条悬索桥回到宿营地。可是他们只有一支手电,电池只够再亮17分钟。过桥必须要有手电,否则太危险。桥最多只能承受两个人同时通过的重量。这四个人的过桥速度都不一样:一个需要1分钟,一个需要2分钟,一个需要5分钟,还有一个需要10分钟。他们如何才能在17分钟之内全部过桥?

答案:1和2一起过(2分钟);1返回(3分钟);5和10一起过(13分钟);2返回(15分钟);1和2一起过(17分钟)。全体安全过桥。

答案

4、你和一个朋友去参加聚会。聚会算上你们一共10人。。。你的朋友想要跟你打个赌:你在这些人每找到一个和你生日相同的,你就赢1块钱。他在这些人里每找到一个和你生日不同的人,他就赢2块钱。你该不该打这个赌?

答案:不算闰年的话,别人跟你生日相同的概率是1/;跟你生日不同的概率是364/。因此不要打这个赌。

答案

5、如果你看到时钟上面的时间是3:15,那么其时针和分针之间的角度是多少?(答案不是零)

答案:.5度。时钟上每一分钟是6度(360度/60分钟)。时针每小时从一个数字走到下一个数字(此例中为从3点到4点),也就是30度。因为此题中时间刚好走过1/4小时,因此时针走完30度的1/,也就是7.5度。

答案

6、将一根木条折成3段之后,可以形成一个三角形的概率有多大?

答案:因为题目中没有说要求木条必须首尾相连的做成三角形,因此答案是100%。任何长度的三根木条都可以形成一个三角形。

答案

7、南非有个延时问题。请对其加以分析。

答案:这显然是个非常模糊的问题,因此没有唯一的正确答案。比较好的回答应该是由被面试者展示自己对“延时”概念的熟悉程度以及发挥自己的想象力,构想出一个有趣的延时问题并对其提供一个有趣的解决方案。

答案

8、在一个两维平面上有三个不在一条直线上的点。请问能够作出几条与这些点距离相同的线?

答案:三条。将两点之间联成一条线段。在这条线段与第三点之间正中的位置,做一条与此线段平行的直线,即为一条距三点等距的线。然后按此方法对其余两点的组合做出另外两条来。

答案

9、2的64次方是多少?

答案:如果你不是因为坐在面试室里,手边没有计算器的话,应该可以很容易找到答案,即1. 乘以10的19次方。
【要是我,就写一个1,后面加上64个零,算是2进制答案,哈哈。——译者注】

答案

10、假设你在衣橱里挂满衬衫,很难从中挑出某一件来。请问你打算怎样整理一下,使得它们容易挑选?

答案:此题没有固定答案。考验的是被面试者在解决问题方面的想象力和创造性。我们觉得读者”Dude”的这个答案可能会给Google留下深刻印象:把它们按布料的种类进行哈希(HASH)组合。然后每类再按2--4树或红黑树(都是计算机算法)排序。

答案

11、给你一副井字棋(Tic Tac Toe)。。。你来写一个程序,以整个游戏和一个玩家的名字为参数。此函数需返回游戏结果,即此玩家是否赢了。首先你要决定使用哪种数据结构处理游戏。你还要先讲出使用哪种算法,然后写出代码。注意:这个游戏中的某些格子里可能是空的。你的数据结构需要考虑到这个条件。

答案:所需要的数据结构应为二元字符数列。调用此函数检查6种条件,判断是否有赢家。其中第6种条件就是看是否还有空格。如果有赢家,则字符判断玩家是X还是O。因此你需要一个旗标。如果有赢家则返回此值并结束游戏,如果没有则继续游戏。

答案

12、为1万亿个数排序需要多长时间?请说出一个靠谱的估计。

答案:这又是一个没有标准答案的题目。目的是考察被面试者的创造性。我们倾向于两位读者给出的简单答案:用归并排序法(Merge Sort)排序。平均情况下为O(,,,, Log ,,,,)。最差情况下为O(,,,, Log ,,,,)【两者相同。——译者注】。现在可以做到每秒10亿次的运算,所以大约应需要3000秒。

答案

13、请设计一个“蛙跳”游戏的算法,并写出方案的代码。。。

答案:这个游戏的目标是引导一个青蛙避开来往车辆,横穿一条繁忙的公路。你可以用一个数列来代表一条车道。将方案简化成一条N车道的公路。我们只找到一个对此问题的解答,它来自Glassdoor.com网站:“一个方法是写一个递归算法来决定何时等待,何时跳进下一个车道。这由下条车道中是否有逐渐接近的障碍物来决定。”

答案

14、Google每年收到多少份软件工程师的简历?这也是在考察应试者是否有能力把问题简单明确化,并提出创造性的解决方案。

答案:一个“量化报酬分析师”职位的求职者,应该知道2008年Google雇佣了3400人。估计其中75%,即2550人,应该是工程师,并且Google和哈佛的录取率类似,即从申请人中取3%。由此可知应该收到大约85000简历( x % = )

答案

15、给你一个数字链表。。。链表到头之后又会从头开始(循环链表)。请写出寻找链表中最小数字的最高效算法。找出此链表中的任意给定数字。链表中的数字总是不断增大的,但是你不知道循环链表从何处开始。例:38, 40, 55, 89, 6, 13, 20, 23, 36。

答案:我们最喜欢的答案来自读者”dude”:建立临时指针并从根上开始。(循环链表大多数情况下都有向前或向后指针。)判断是向前更大还是向后更大。如果向前更大则知道已达到链表最后,又重新位于链表开始位置。如果向前更大【原文如此,似应为“向前更小”。——译者注】,那你可以向后搜寻并进行数字比较。如果既没有根也没有指针指向链表,那么你的数据就丢失在内存中了。

答案

转自:http://blog.csdn.net/hackbuteer1/article/details/7486827

脑筋急转弯——Google 面试的更多相关文章

  1. Google 面试

    坚持完成这套学习手册,你就可以去 Google 面试了 系统 指针 value Google 面试 阅读10266   本文为掘金投稿,译文出自:掘金翻译计划 原文地址:Google Intervie ...

  2. (转) 坚持完成这套学习手册,你就可以去 Google 面试了

      坚持完成这套学习手册,你就可以去 Google 面试了 系统 指针 value Google 面试 阅读6138    本文为掘金投稿,译文出自:掘金翻译计划 原文地址:Google Interv ...

  3. Google Interview University - 坚持完成这套学习手册,你就可以去 Google 面试了

    作者:Glowin链接:https://zhuanlan.zhihu.com/p/22881223来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 原文地址:Google ...

  4. Steve Yegge:Google面试秘籍

    我憋了很长时间想写点关于去Google面试的秘籍.不过我总是推迟,因为写出来的东西会让你抓狂.很可能是这样.如果按统计规律来定义"你"的话,这文章很可能让你不爽. 为啥呢?因为啊- ...

  5. 推荐一份 Google 面试指南

    经常有不少读者在我公众号后台留言,说自己还是应届毕业生,缺乏工作经验与项目经验,不知道如何才能通过面试? 其实,项目经验固然重要,但是企业也知道,对于应届毕业生,是很难有拿得出手的项目经验出来的,毕竟 ...

  6. 记一次 Google 面试经历

    本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 这是我上周去面试的地方.很顺利,我觉得——至少我认为我已经尽我所能,并且无论发生什么事情对我都是有帮助的. 由于 ...

  7. 谷歌技术面试要点(Google面试)(14年5月20日交大专场)

    技术面试的主题 1.简要自我介绍: 姓名.学校.专业 做过的项目与实习 个人主要成就 2.技术评估: 构建与开发算法 编程 计算机基础知识 数据结构 现实世界问题解决能力 设计问题(主要针对博士生) ...

  8. 【长文】Google面试官分步解析自己泄漏前的面试题,超多干货和建议

    本文翻译自Google工程师/面试官Alex Golec的文章:Google Interview Questions Deconstructed: The Knight's Dialer:翻译:实验楼 ...

  9. Google面试准备

    本人小弱,面试过了Google的HC,虽然team match还没完成,到最后还有变数.但对自己这段时间的努力,也算一个交代了. 最初是一年半前Google的HR联系到我,然后第一次在电面就挂了.经过 ...

随机推荐

  1. linux中offsetof与container_of宏定义

    linux内核中offsetof与container_of的宏定义 #define offsetof(TYPE, MEMBER)    ((size_t) &((TYPE *)0)->M ...

  2. Fragment的使用

    1.要在需要使用fragment的Activity布局中添加<fragment></fragment>标签给fragment预留位置: 2.指定fragment对应的类,在类中 ...

  3. [HTML]输入框被限制输入某些类型数据

    ENTER键可以让光标移到下一个输入框 <input onkeydown="if(event.keyCode==13)event.keyCode=9" > 只能是中文& ...

  4. [转]如何在ASP.NET Core中实现一个基础的身份认证

    本文转自:http://www.cnblogs.com/onecodeonescript/p/6015512.html 注:本文提到的代码示例下载地址> How to achieve a bas ...

  5. 虚拟机linux上网问题

    VMware中虚拟机网络的三种设置 1.桥接(bridged)(设置上网比较繁琐,但是在嵌入式开发中比较有用)2.NAT(上网比较简单,但是不能用于嵌入式开发中)3.Host only (该模式下仅主 ...

  6. A book to recommend: The art of readable code

    我最喜欢的一本书 - 教我如何写可读的代码 Two month fan of the book, from August - Oct. 2014; and then, started to pract ...

  7. 洛谷P1262 间谍网络[强连通分量 BFS]

    题目描述 由于外国间谍的大量渗入,国家安全正处于高度的危机之中.如果A间谍手中掌握着关于B间谍的犯罪证据,则称A可以揭发B.有些间谍收受贿赂,只要给他们一定数量的美元,他们就愿意交出手中掌握的全部情报 ...

  8. [No000086]C#foreach集合被改变,报错处理方案

    using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; ...

  9. Elasticssearch学习教程

    http://www.cnblogs.com/eggTwo/p/4425269.html

  10. .Net开源微型ORM框架测评

    什么是ORM? 对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间 ...