工程思维面试题

今天先讲Google的一道面试题,它其实是考察候选人的工程思维,题目是这么说的:
给你两个一模一样的玻璃球。这两个球如果从一定高度掉到地上就会摔碎,当然,如果在这个高度以下往下扔,怎么都不会碎,超过这个高度肯定就一次摔碎了。
现在已知这个恰巧摔碎的高度范围在1层楼到100层楼之间。如何用最少的试验次数,用这两个玻璃球测试出玻璃球恰好摔碎的楼高。
为了便于你理解这道题,我不妨讲两个具体的策略。
第一个策略是从第一层楼开始,一层一层往上试验。 你拿着球跑到第一层,一摔,没有碎,接下来你又跑到第二层去试,也没有摔碎。你一层层试下去,比如说到了第59层摔碎了,那么你就知道它摔碎的高度是59层。这个策略能保证你获得成功,但显然不是很有效。
第二个策略是预测一下,试一试, 你跑到30层楼一试,没有碎,再跑到80层楼一试,碎了。虽然你把摔碎高度的范围从1-100减小到30-80,但接下来你就犯难了,因为你就剩一个球了,再这样凭感觉做试验,可能两个球都摔碎了,也测不出想知道的高度。
这道题好的方法是什么呢?两个球,一个用来做粗调,一个用来做精调,具体做法是以下这样的。
首先拿第一个球到10层楼去试,如果没有摔碎,就去20层楼,每次增加10层楼。如果在某个十层摔碎了,比如60层,就知道摔碎的高度在51-60层之间,接下来从51层开始一层层地试验,这样可以保证不出二十次,一定能试出恰巧摔碎玻璃球的高度。
数学好的读者朋友可以去证明一下这是从统计的角度讲最优的策略,为了照顾所有的读者,我就不占用时间证明了。
这道题和计算机技术完全无关,和产品设计或者市场推广似乎也无关,那么为什么Google要考这道题?其实有两个目的, 一是为了找到聪明人,二是为了判断这个候选人的工程素养。

如果我要问,有一个数字是40.365,比如说天文望远镜的焦距,你怎样达到它?
一般人按照生活直觉,直奔这个数字去就可以了。但是在工程上,这样简单的一个数字并非抽象的,而是非常具体的。
如果是天文望远镜的焦距,你是否会用手把握着望远镜的那个圆筒,前后移动,估摸着镜片之间的距离来调整呢?如果这是导弹发射的角度,你自己是否会用个量角器估算导弹和水平线的角度呢?
显然我们不能这么做,我们必须有一个可以准确达到这个数字的办法,这就是工程的思维—— 不仅仅要知道目标在哪里,还必须设计一个能够达到目标的道路。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值