华为一道面试题,100杯水里面,其中一杯里面有剧毒,如何快速地找出来?
这道题的本意是让人用混检的手段,用最少的混检次数找出这杯水。
但网上竟然流传着一个扫地阿姨给出的答案。
把所有的水都倒入她用来拖地的桶里,剧毒不就找出来了吗?就在她的桶里。
有人鼓吹说这是高认知,高纬度,超出固有思维什么的。
但其实这就是偷换概念。
如果这个逻辑成立,你甚至可以什么都不做,指着那100杯水说,剧毒就在那100杯水里。
100杯水和扫地阿姨的桶有本质区别吗?没有。
下面我们试着正面回答下这个问题。
因为题目并未有更多的说明,所以,
首先,看含有剧毒的水与普通的水是否有外观性状上的差别。
例如,颜色是否有改变,透明度会改变,是否有絮状物或沉淀,折光率发生变化,等等。
可能有人会说气味,鉴于这个剧毒的毒性未知,气味不要轻易尝试。
以上是从外观上的判断。
其次,我们可以利用一些简单的工具来测试一下物理化学性状。
例如,用一根筷子搅拌测一下粘度,把筷子放入水中静止观察表面张力,相同角度协放筷子观察折射率,用万用表导电率,PH试纸测酸碱度,用浊度仪测下浊度,或者将乒乓球放入水中观察密度变化等等。
可能有人会想,是否可以测一下沸点或者凝固点,一来是太麻烦,二来是,不清楚剧毒的具体性质,温度的变化可能会影响剧毒的毒性。
还要特别注意的是,不同样本之间是不能互相污染的,所以测试的工具需要准备充分。
如果都没啥问题,后面的验毒就非常复杂了。
大家可能会认为,不就是上面说的混检嘛,用小白鼠测不就行了吗?
事情没有那么简单。
由于有效信息太少,我们不知道这个剧毒是否有针对性,是否有致死剂量,毒发症状,毒发时间等等。
有人可能觉得,既然是剧毒那肯定吃了就会死啊。
事实并非如此,
例如,百草枯,虽然剧毒,吃了必死,但会需要将近一个星期的毒发时间。
而某些生物毒素,或者烈性病毒是会针对特定物种,所以小白鼠不死,并不能证明水是安全的。
最后,只能对含有剧毒的水进行专业检测。
而现有的手段都只能是根据猜测,使用各种专业试剂进行排除法测定。
坏消息是我们并非一定可以检测出这种剧毒。
好消息是,绝大多数可溶物都会改变水的物料化学性状。
尤其是表面张力和电导率等。
所以我们还是可以使用相对简单的手段来验出大部分剧毒的。
华为的面试题,并非看起来那么简单,小伙伴们有什么其它好的方法,欢迎留言。